Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980/* SPDX-License-Identifier: GPL-2.0 */#ifndef __LINUX_PAGE_OWNER_H#define __LINUX_PAGE_OWNER_H
#include <linux/jump_label.h>#include <linux/migrate_mode.h>
#ifdef CONFIG_PAGE_OWNERextern struct static_key_false page_owner_inited;extern struct page_ext_operations page_owner_ops;
extern void __reset_page_owner(struct page *page, unsigned short order);extern void __set_page_owner(struct page *page, unsigned short order, gfp_t gfp_mask);extern void __split_page_owner(struct page *page, int old_order, int new_order);extern void __folio_copy_owner(struct folio *newfolio, struct folio *old);void __folio_set_owner_migrate_reason(struct folio *folio, enum migrate_reason reason);extern void __dump_page_owner(const struct page *page);extern void pagetypeinfo_showmixedcount_print(struct seq_file *m, pg_data_t *pgdat, struct zone *zone);
static inline void reset_page_owner(struct page *page, unsigned short order){ if (static_branch_unlikely(&page_owner_inited)) __reset_page_owner(page, order);}
static inline void set_page_owner(struct page *page, unsigned short order, gfp_t gfp_mask){ if (static_branch_unlikely(&page_owner_inited)) __set_page_owner(page, order, gfp_mask);}
static inline void split_page_owner(struct page *page, int old_order, int new_order){ if (static_branch_unlikely(&page_owner_inited)) __split_page_owner(page, old_order, new_order);}static inline void folio_copy_owner(struct folio *newfolio, struct folio *old){ if (static_branch_unlikely(&page_owner_inited)) __folio_copy_owner(newfolio, old);}static inline void folio_set_owner_migrate_reason(struct folio *folio, enum migrate_reason reason){ if (static_branch_unlikely(&page_owner_inited)) __folio_set_owner_migrate_reason(folio, reason);}static inline void dump_page_owner(const struct page *page){ if (static_branch_unlikely(&page_owner_inited)) __dump_page_owner(page);}#elsestatic inline void reset_page_owner(struct page *page, unsigned short order){}static inline void set_page_owner(struct page *page, unsigned short order, gfp_t gfp_mask){}static inline void split_page_owner(struct page *page, int old_order, int new_order){}static inline void folio_copy_owner(struct folio *newfolio, struct folio *folio){}static inline void folio_set_owner_migrate_reason(struct folio *folio, enum migrate_reason reason){}static inline void dump_page_owner(const struct page *page){}#endif /* CONFIG_PAGE_OWNER */#endif /* __LINUX_PAGE_OWNER_H */