at v4.13 2.3 kB view raw
1#ifndef __LINUX_PAGE_OWNER_H 2#define __LINUX_PAGE_OWNER_H 3 4#include <linux/jump_label.h> 5 6#ifdef CONFIG_PAGE_OWNER 7extern struct static_key_false page_owner_inited; 8extern struct page_ext_operations page_owner_ops; 9 10extern void __reset_page_owner(struct page *page, unsigned int order); 11extern void __set_page_owner(struct page *page, 12 unsigned int order, gfp_t gfp_mask); 13extern void __split_page_owner(struct page *page, unsigned int order); 14extern void __copy_page_owner(struct page *oldpage, struct page *newpage); 15extern void __set_page_owner_migrate_reason(struct page *page, int reason); 16extern void __dump_page_owner(struct page *page); 17extern void pagetypeinfo_showmixedcount_print(struct seq_file *m, 18 pg_data_t *pgdat, struct zone *zone); 19 20static inline void reset_page_owner(struct page *page, unsigned int order) 21{ 22 if (static_branch_unlikely(&page_owner_inited)) 23 __reset_page_owner(page, order); 24} 25 26static inline void set_page_owner(struct page *page, 27 unsigned int order, gfp_t gfp_mask) 28{ 29 if (static_branch_unlikely(&page_owner_inited)) 30 __set_page_owner(page, order, gfp_mask); 31} 32 33static inline void split_page_owner(struct page *page, unsigned int order) 34{ 35 if (static_branch_unlikely(&page_owner_inited)) 36 __split_page_owner(page, order); 37} 38static inline void copy_page_owner(struct page *oldpage, struct page *newpage) 39{ 40 if (static_branch_unlikely(&page_owner_inited)) 41 __copy_page_owner(oldpage, newpage); 42} 43static inline void set_page_owner_migrate_reason(struct page *page, int reason) 44{ 45 if (static_branch_unlikely(&page_owner_inited)) 46 __set_page_owner_migrate_reason(page, reason); 47} 48static inline void dump_page_owner(struct page *page) 49{ 50 if (static_branch_unlikely(&page_owner_inited)) 51 __dump_page_owner(page); 52} 53#else 54static inline void reset_page_owner(struct page *page, unsigned int order) 55{ 56} 57static inline void set_page_owner(struct page *page, 58 unsigned int order, gfp_t gfp_mask) 59{ 60} 61static inline void split_page_owner(struct page *page, 62 unsigned int order) 63{ 64} 65static inline void copy_page_owner(struct page *oldpage, struct page *newpage) 66{ 67} 68static inline void set_page_owner_migrate_reason(struct page *page, int reason) 69{ 70} 71static inline void dump_page_owner(struct page *page) 72{ 73} 74#endif /* CONFIG_PAGE_OWNER */ 75#endif /* __LINUX_PAGE_OWNER_H */