Revert "mm/hugetlb_cgroup: convert __set_hugetlb_cgroup() to folios"

This reverts commit 8080591648 which is
commit a098c97772 upstream.

It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.

Bug: 161946584
Change-Id: I584f17cf69493bf2306ce4ca3527a0ae65daa734
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman
2024-07-20 12:49:45 +00:00
parent d1bebbc8ed
commit 6d38b404ee
2 changed files with 9 additions and 9 deletions

View File

@@ -90,31 +90,31 @@ hugetlb_cgroup_from_page_rsvd(struct page *page)
return __hugetlb_cgroup_from_page(page, true); return __hugetlb_cgroup_from_page(page, true);
} }
static inline void __set_hugetlb_cgroup(struct folio *folio, static inline void __set_hugetlb_cgroup(struct page *page,
struct hugetlb_cgroup *h_cg, bool rsvd) struct hugetlb_cgroup *h_cg, bool rsvd)
{ {
VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio); VM_BUG_ON_PAGE(!PageHuge(page), page);
if (folio_order(folio) < HUGETLB_CGROUP_MIN_ORDER) if (compound_order(page) < HUGETLB_CGROUP_MIN_ORDER)
return; return;
if (rsvd) if (rsvd)
set_page_private(folio_page(folio, SUBPAGE_INDEX_CGROUP_RSVD), set_page_private(page + SUBPAGE_INDEX_CGROUP_RSVD,
(unsigned long)h_cg); (unsigned long)h_cg);
else else
set_page_private(folio_page(folio, SUBPAGE_INDEX_CGROUP), set_page_private(page + SUBPAGE_INDEX_CGROUP,
(unsigned long)h_cg); (unsigned long)h_cg);
} }
static inline void set_hugetlb_cgroup(struct page *page, static inline void set_hugetlb_cgroup(struct page *page,
struct hugetlb_cgroup *h_cg) struct hugetlb_cgroup *h_cg)
{ {
__set_hugetlb_cgroup(page_folio(page), h_cg, false); __set_hugetlb_cgroup(page, h_cg, false);
} }
static inline void set_hugetlb_cgroup_rsvd(struct page *page, static inline void set_hugetlb_cgroup_rsvd(struct page *page,
struct hugetlb_cgroup *h_cg) struct hugetlb_cgroup *h_cg)
{ {
__set_hugetlb_cgroup(page_folio(page), h_cg, true); __set_hugetlb_cgroup(page, h_cg, true);
} }
static inline bool hugetlb_cgroup_disabled(void) static inline bool hugetlb_cgroup_disabled(void)

View File

@@ -314,7 +314,7 @@ static void __hugetlb_cgroup_commit_charge(int idx, unsigned long nr_pages,
if (hugetlb_cgroup_disabled() || !h_cg) if (hugetlb_cgroup_disabled() || !h_cg)
return; return;
__set_hugetlb_cgroup(page_folio(page), h_cg, rsvd); __set_hugetlb_cgroup(page, h_cg, rsvd);
if (!rsvd) { if (!rsvd) {
unsigned long usage = unsigned long usage =
h_cg->nodeinfo[page_to_nid(page)]->usage[idx]; h_cg->nodeinfo[page_to_nid(page)]->usage[idx];
@@ -356,7 +356,7 @@ static void __hugetlb_cgroup_uncharge_page(int idx, unsigned long nr_pages,
h_cg = __hugetlb_cgroup_from_page(page, rsvd); h_cg = __hugetlb_cgroup_from_page(page, rsvd);
if (unlikely(!h_cg)) if (unlikely(!h_cg))
return; return;
__set_hugetlb_cgroup(page_folio(page), NULL, rsvd); __set_hugetlb_cgroup(page, NULL, rsvd);
page_counter_uncharge(__hugetlb_cgroup_counter_from_cgroup(h_cg, idx, page_counter_uncharge(__hugetlb_cgroup_counter_from_cgroup(h_cg, idx,
rsvd), rsvd),