proc: pass a folio to smaps_page_accumulate()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 3 Apr 2024 17:14:54 +0000 (18:14 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 26 Apr 2024 03:56:36 +0000 (20:56 -0700)
Both callers already have a folio; pass it in instead of doing the
conversion each time.

Link: https://lkml.kernel.org/r/20240403171456.1445117-4-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Christian Brauner <brauner@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/proc/task_mmu.c

index 2a3133dd47b1d88a1abfb5474c45ec0f102e5b7f..6d4f60bc8824f616bdd212bf0c84529571ce14f5 100644 (file)
@@ -411,10 +411,9 @@ struct mem_size_stats {
 };
 
 static void smaps_page_accumulate(struct mem_size_stats *mss,
-               struct page *page, unsigned long size, unsigned long pss,
+               struct folio *folio, unsigned long size, unsigned long pss,
                bool dirty, bool locked, bool private)
 {
-       struct folio *folio = page_folio(page);
        mss->pss += pss;
 
        if (folio_test_anon(folio))
@@ -484,8 +483,8 @@ static void smaps_account(struct mem_size_stats *mss, struct page *page,
         * as mapcount == 1.
         */
        if ((folio_ref_count(folio) == 1) || migration) {
-               smaps_page_accumulate(mss, page, size, size << PSS_SHIFT, dirty,
-                       locked, true);
+               smaps_page_accumulate(mss, folio, size, size << PSS_SHIFT,
+                               dirty, locked, true);
                return;
        }
        for (i = 0; i < nr; i++, page++) {
@@ -493,8 +492,8 @@ static void smaps_account(struct mem_size_stats *mss, struct page *page,
                unsigned long pss = PAGE_SIZE << PSS_SHIFT;
                if (mapcount >= 2)
                        pss /= mapcount;
-               smaps_page_accumulate(mss, page, PAGE_SIZE, pss, dirty, locked,
-                                     mapcount < 2);
+               smaps_page_accumulate(mss, folio, PAGE_SIZE, pss,
+                               dirty, locked, mapcount < 2);
        }
 }