at v4.8 2.2 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); 17 18static inline void reset_page_owner(struct page *page, unsigned int order) 19{ 20 if (static_branch_unlikely(&page_owner_inited)) 21 __reset_page_owner(page, order); 22} 23 24static inline void set_page_owner(struct page *page, 25 unsigned int order, gfp_t gfp_mask) 26{ 27 if (static_branch_unlikely(&page_owner_inited)) 28 __set_page_owner(page, order, gfp_mask); 29} 30 31static inline void split_page_owner(struct page *page, unsigned int order) 32{ 33 if (static_branch_unlikely(&page_owner_inited)) 34 __split_page_owner(page, order); 35} 36static inline void copy_page_owner(struct page *oldpage, struct page *newpage) 37{ 38 if (static_branch_unlikely(&page_owner_inited)) 39 __copy_page_owner(oldpage, newpage); 40} 41static inline void set_page_owner_migrate_reason(struct page *page, int reason) 42{ 43 if (static_branch_unlikely(&page_owner_inited)) 44 __set_page_owner_migrate_reason(page, reason); 45} 46static inline void dump_page_owner(struct page *page) 47{ 48 if (static_branch_unlikely(&page_owner_inited)) 49 __dump_page_owner(page); 50} 51#else 52static inline void reset_page_owner(struct page *page, unsigned int order) 53{ 54} 55static inline void set_page_owner(struct page *page, 56 unsigned int order, gfp_t gfp_mask) 57{ 58} 59static inline void split_page_owner(struct page *page, 60 unsigned int order) 61{ 62} 63static inline void copy_page_owner(struct page *oldpage, struct page *newpage) 64{ 65} 66static inline void set_page_owner_migrate_reason(struct page *page, int reason) 67{ 68} 69static inline void dump_page_owner(struct page *page) 70{ 71} 72#endif /* CONFIG_PAGE_OWNER */ 73#endif /* __LINUX_PAGE_OWNER_H */