Lines Matching full:page
25 * Minimum page order trackable by hugetlb cgroup.
27 * The second tail page (hpage[2]) is the fault usage cgroup.
28 * The third tail page (hpage[3]) is the reservation usage cgroup.
62 __hugetlb_cgroup_from_page(struct page *page, bool rsvd) in __hugetlb_cgroup_from_page() argument
64 VM_BUG_ON_PAGE(!PageHuge(page), page); in __hugetlb_cgroup_from_page()
66 if (compound_order(page) < HUGETLB_CGROUP_MIN_ORDER) in __hugetlb_cgroup_from_page()
69 return (struct hugetlb_cgroup *)page[3].private; in __hugetlb_cgroup_from_page()
71 return (struct hugetlb_cgroup *)page[2].private; in __hugetlb_cgroup_from_page()
74 static inline struct hugetlb_cgroup *hugetlb_cgroup_from_page(struct page *page) in hugetlb_cgroup_from_page() argument
76 return __hugetlb_cgroup_from_page(page, false); in hugetlb_cgroup_from_page()
80 hugetlb_cgroup_from_page_rsvd(struct page *page) in hugetlb_cgroup_from_page_rsvd() argument
82 return __hugetlb_cgroup_from_page(page, true); in hugetlb_cgroup_from_page_rsvd()
85 static inline int __set_hugetlb_cgroup(struct page *page, in __set_hugetlb_cgroup() argument
88 VM_BUG_ON_PAGE(!PageHuge(page), page); in __set_hugetlb_cgroup()
90 if (compound_order(page) < HUGETLB_CGROUP_MIN_ORDER) in __set_hugetlb_cgroup()
93 page[3].private = (unsigned long)h_cg; in __set_hugetlb_cgroup()
95 page[2].private = (unsigned long)h_cg; in __set_hugetlb_cgroup()
99 static inline int set_hugetlb_cgroup(struct page *page, in set_hugetlb_cgroup() argument
102 return __set_hugetlb_cgroup(page, h_cg, false); in set_hugetlb_cgroup()
105 static inline int set_hugetlb_cgroup_rsvd(struct page *page, in set_hugetlb_cgroup_rsvd() argument
108 return __set_hugetlb_cgroup(page, h_cg, true); in set_hugetlb_cgroup_rsvd()
122 struct page *page);
125 struct page *page);
127 struct page *page);
129 struct page *page);
144 extern void hugetlb_cgroup_migrate(struct page *oldhpage,
145 struct page *newhpage);
154 static inline struct hugetlb_cgroup *hugetlb_cgroup_from_page(struct page *page) in hugetlb_cgroup_from_page() argument
160 hugetlb_cgroup_from_page_resv(struct page *page) in hugetlb_cgroup_from_page_resv() argument
166 hugetlb_cgroup_from_page_rsvd(struct page *page) in hugetlb_cgroup_from_page_rsvd() argument
171 static inline int set_hugetlb_cgroup(struct page *page, in set_hugetlb_cgroup() argument
177 static inline int set_hugetlb_cgroup_rsvd(struct page *page, in set_hugetlb_cgroup_rsvd() argument
203 struct page *page) in hugetlb_cgroup_commit_charge() argument
210 struct page *page) in hugetlb_cgroup_commit_charge_rsvd() argument
215 struct page *page) in hugetlb_cgroup_uncharge_page() argument
221 struct page *page) in hugetlb_cgroup_uncharge_page_rsvd() argument
246 static inline void hugetlb_cgroup_migrate(struct page *oldhpage, in hugetlb_cgroup_migrate()
247 struct page *newhpage) in hugetlb_cgroup_migrate()