Re: [PATCH v3 14/18] mm/memcg: Convert mem_cgroup_move_account() to use a folio
From: Matthew Wilcox <willy@infradead.org>
Date: 2021-06-30 12:31:47
Also in:
cgroups
On Wed, Jun 30, 2021 at 02:20:38PM +0200, Michal Hocko wrote:
On Wed 30-06-21 12:22:48, Matthew Wilcox wrote:quoted
We need to decide what 'NR_ANON_THPS' means in a folio-based world where we have folios of all orders. Does it count only the number of pages in folios >= HPAGE_PMD_SIZE? Or does it count the number of pages in folios > PAGE_SIZE?At this stage we only have PMD based, right? I believe it would be simpler to stick with that at the moment and change that to a more generic way along with other places which need updating. Wrt. counters they do count pages so in this case this shouldn't be a problem. But we do have counters for pmd mappings and that might need some care.
Looking at how these are reported:
show_val_kb(m, "AnonHugePages: ",
global_node_page_state(NR_ANON_THPS));
show_val_kb(m, "ShmemHugePages: ",
global_node_page_state(NR_SHMEM_THPS));
show_val_kb(m, "ShmemPmdMapped: ",
global_node_page_state(NR_SHMEM_PMDMAPPED));
show_val_kb(m, "FileHugePages: ",
global_node_page_state(NR_FILE_THPS));
show_val_kb(m, "FilePmdMapped: ",
global_node_page_state(NR_FILE_PMDMAPPED));
it specifically refers to 'HugePages', so I think we need to only
count folios with order >= PMD_ORDER. I'll make that change to
folio_transhuge() and use folio_transhuge() here.