mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
mm/page_ext: add common function to get client data from page_ext
Patch series "add page_ext_data to get client data in page_ext". Current clients get data from page_ext by adding offset which is auto generated in page_ext core and exposes the data layout design inside page_ext core. This series adds a page_ext_data() to hide this from clients. Benefits include: 1. Future clients can call page_ext_data directly instead of defining a new function like get_page_owner to get the data. 2. There is no change to clients if the layout of page_ext data changes. This patch (of 3): Add common page_ext_data function to get client data. This could hide offset which is auto generated in page_ext core and expose the desgin of page_ext data layout. Link: https://lkml.kernel.org/r/20230718145812.1991717-1-shikemeng@huaweicloud.com Link: https://lkml.kernel.org/r/20230718145812.1991717-2-shikemeng@huaweicloud.com Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com> Reviewed-by: Andrew Morton <akpm@linux-foudation.org> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
ca54f6d89d
commit
c0a5d93a88
@ -82,6 +82,12 @@ static inline void page_ext_init(void)
|
||||
extern struct page_ext *page_ext_get(struct page *page);
|
||||
extern void page_ext_put(struct page_ext *page_ext);
|
||||
|
||||
static inline void *page_ext_data(struct page_ext *page_ext,
|
||||
struct page_ext_operations *ops)
|
||||
{
|
||||
return (void *)(page_ext) + ops->offset;
|
||||
}
|
||||
|
||||
static inline struct page_ext *page_ext_next(struct page_ext *curr)
|
||||
{
|
||||
void *next = curr;
|
||||
|
Loading…
Reference in New Issue
Block a user