OSDN Git Service

mm/page_alloc: remove unnecessary parameter batch of nr_pcp_free
authorKemeng Shi <shikemeng@huaweicloud.com>
Wed, 9 Aug 2023 10:07:54 +0000 (18:07 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 21 Aug 2023 20:37:50 +0000 (13:37 -0700)
We get batch from pcp and just pass it to nr_pcp_free immediately.  Get
batch from pcp inside nr_pcp_free to remove unnecessary parameter batch.

Link: https://lkml.kernel.org/r/20230809100754.3094517-3-shikemeng@huaweicloud.com
Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/page_alloc.c

index bc782bf..cfadde2 100644 (file)
@@ -2340,10 +2340,10 @@ static bool free_unref_page_prepare(struct page *page, unsigned long pfn,
        return true;
 }
 
-static int nr_pcp_free(struct per_cpu_pages *pcp, int high, int batch,
-                      bool free_high)
+static int nr_pcp_free(struct per_cpu_pages *pcp, int high, bool free_high)
 {
        int min_nr_free, max_nr_free;
+       int batch = READ_ONCE(pcp->batch);
 
        /* Free everything if batch freeing high-order pages. */
        if (unlikely(free_high))
@@ -2410,9 +2410,7 @@ static void free_unref_page_commit(struct zone *zone, struct per_cpu_pages *pcp,
 
        high = nr_pcp_high(pcp, zone, free_high);
        if (pcp->count >= high) {
-               int batch = READ_ONCE(pcp->batch);
-
-               free_pcppages_bulk(zone, nr_pcp_free(pcp, high, batch, free_high), pcp, pindex);
+               free_pcppages_bulk(zone, nr_pcp_free(pcp, high, free_high), pcp, pindex);
        }
 }