root/include/linux/page_owner.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. reset_page_owner
  2. set_page_owner
  3. split_page_owner
  4. copy_page_owner
  5. set_page_owner_migrate_reason
  6. dump_page_owner
  7. reset_page_owner
  8. set_page_owner
  9. split_page_owner
  10. copy_page_owner
  11. set_page_owner_migrate_reason
  12. dump_page_owner

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

/* [<][>][^][v][top][bottom][index][help] */