summaryrefslogtreecommitdiff
path: root/mm/zpdesc.h
diff options
context:
space:
mode:
authorHyeonggon Yoo <42.hyeyoo@gmail.com>2024-12-17 00:04:35 +0900
committerAndrew Morton <akpm@linux-foundation.org>2025-01-25 20:22:33 -0800
commitb5c1d8b510ad18eace94562e1d2ad419cb6a6147 (patch)
treeb12cd8f943b37a683a2a939d58f7c090282c0f7c /mm/zpdesc.h
parent4610d35c14fc861d1795f8396d8c245ee43f3c37 (diff)
mm/zsmalloc: add and use pfn/zpdesc seeking funcs
Add pfn_zpdesc(), pfn_zpdesc() and kmap_local_zpdesc(). Convert obj_to_location() to take zpdesc and also convert its users to use zpdesc. Link: https://lkml.kernel.org/r/20241216150450.1228021-5-42.hyeyoo@gmail.com Signed-off-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Signed-off-by: Alex Shi <alexs@kernel.org> Acked-by: Sergey Senozhatsky <senozhatsky@chromium.org> Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Minchan Kim <minchan@kernel.org> Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/zpdesc.h')
-rw-r--r--mm/zpdesc.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/mm/zpdesc.h b/mm/zpdesc.h
index 7c8bea3859f0..d539ec100a3b 100644
--- a/mm/zpdesc.h
+++ b/mm/zpdesc.h
@@ -134,4 +134,18 @@ static inline void zpdesc_put(struct zpdesc *zpdesc)
folio_put(zpdesc_folio(zpdesc));
}
+static inline void *kmap_local_zpdesc(struct zpdesc *zpdesc)
+{
+ return kmap_local_page(zpdesc_page(zpdesc));
+}
+
+static inline unsigned long zpdesc_pfn(struct zpdesc *zpdesc)
+{
+ return page_to_pfn(zpdesc_page(zpdesc));
+}
+
+static inline struct zpdesc *pfn_zpdesc(unsigned long pfn)
+{
+ return page_zpdesc(pfn_to_page(pfn));
+}
#endif