The patch titled Subject: mm: task_mmu: use a folio in smaps_account() has been added to the -mm mm-unstable branch. Its filename is mm-task_mmu-use-a-folio-in-smaps_account.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-task_mmu-use-a-folio-in-smaps_account.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Subject: mm: task_mmu: use a folio in smaps_account() Date: Fri, 10 Nov 2023 11:33:22 +0800 Replace seven implicit calls to compound_head() with one page_folio(). Link: https://lkml.kernel.org/r/20231110033324.2455523-6-wangkefeng.wang@xxxxxxxxxx Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Cc: David Hildenbrand <david@xxxxxxxxxx> Cc: Gregory Price <gregory.price@xxxxxxxxxxxx> Cc: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/proc/task_mmu.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) --- a/fs/proc/task_mmu.c~mm-task_mmu-use-a-folio-in-smaps_account +++ a/fs/proc/task_mmu.c @@ -445,23 +445,25 @@ static void smaps_account(struct mem_siz { int i, nr = compound ? compound_nr(page) : 1; unsigned long size = nr * PAGE_SIZE; + struct folio *folio = page_folio(page); /* * First accumulate quantities that depend only on |size| and the type * of the compound page. */ - if (PageAnon(page)) { + if (folio_test_anon(folio)) { mss->anonymous += size; - if (!PageSwapBacked(page) && !dirty && !PageDirty(page)) + if (!folio_test_swapbacked(folio) && !dirty && + !folio_test_dirty(folio)) mss->lazyfree += size; } - if (PageKsm(page)) + if (folio_test_ksm(folio)) mss->ksm += size; mss->resident += size; /* Accumulate the size in pages that have been accessed. */ - if (young || page_is_young(page) || PageReferenced(page)) + if (young || folio_test_young(folio) || folio_test_referenced(folio)) mss->referenced += size; /* @@ -479,7 +481,7 @@ static void smaps_account(struct mem_siz * especially for migration entries. Treat regular migration entries * as mapcount == 1. */ - if ((page_count(page) == 1) || migration) { + if ((folio_ref_count(folio) == 1) || migration) { smaps_page_accumulate(mss, page, size, size << PSS_SHIFT, dirty, locked, true); return; _ Patches currently in -mm which might be from wangkefeng.wang@xxxxxxxxxx are fs-proc-page-remove-unneeded-pagetail-pageslab-check.patch fs-proc-page-use-a-folio-in-stable_page_flags.patch fs-proc-page-respect-folio-head-page-flag-placement.patch mm-huge_memory-use-more-folio-api-in-__split_huge_page_tail.patch mm-task_mmu-use-a-folio-in-smaps_account.patch mm-task_mmu-use-a-folio-in-clear_refs_pte_range.patch page_idle-kill-page-idle-and-young-wrapper.patch