kernel: 5.15: update Aquantia PHY driver to v6.1 code
[openwrt/openwrt.git] / target / linux / generic / backport-5.15 / 020-v6.1-03-mm-vmscan.c-refactor-shrink_node.patch
index f466f1105c0ba1bdefb7a5823d3caddb3dc667a3..b8d2917d26cea80b3cab94f6a91b423d351ae5a7 100644 (file)
@@ -1,21 +1,58 @@
-From a810f8e2f1bdd0707eaf05c8b4ba84a3ff2801bd Mon Sep 17 00:00:00 2001
+From 9e17efd11450d3d2069adaa3c58db9ac8ebd1c66 Mon Sep 17 00:00:00 2001
 From: Yu Zhao <yuzhao@google.com>
-Date: Sun, 27 Sep 2020 20:49:08 -0600
-Subject: [PATCH 03/10] mm/vmscan.c: refactor shrink_node()
+Date: Sun, 18 Sep 2022 02:00:00 -0600
+Subject: [PATCH 03/29] mm/vmscan.c: refactor shrink_node()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
-This patch refactors shrink_node(). This will make the upcoming
-changes to mm/vmscan.c more readable.
+This patch refactors shrink_node() to improve readability for the upcoming
+changes to mm/vmscan.c.
 
+Link: https://lkml.kernel.org/r/20220918080010.2920238-4-yuzhao@google.com
 Signed-off-by: Yu Zhao <yuzhao@google.com>
+Reviewed-by: Barry Song <baohua@kernel.org>
+Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>
+Acked-by: Brian Geffon <bgeffon@google.com>
+Acked-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+Acked-by: Oleksandr Natalenko <oleksandr@natalenko.name>
+Acked-by: Steven Barrett <steven@liquorix.net>
+Acked-by: Suleiman Souhlal <suleiman@google.com>
+Tested-by: Daniel Byrne <djbyrne@mtu.edu>
+Tested-by: Donald Carr <d@chaos-reins.com>
+Tested-by: Holger Hoffstätte <holger@applied-asynchrony.com>
 Tested-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
-Change-Id: Iae734b5b4030205b7db6e8c841f747b6f6ae1a04
+Tested-by: Shuang Zhai <szhai2@cs.rochester.edu>
+Tested-by: Sofia Trinh <sofia.trinh@edi.works>
+Tested-by: Vaibhav Jain <vaibhav@linux.ibm.com>
+Cc: Andi Kleen <ak@linux.intel.com>
+Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
+Cc: Catalin Marinas <catalin.marinas@arm.com>
+Cc: Dave Hansen <dave.hansen@linux.intel.com>
+Cc: Hillf Danton <hdanton@sina.com>
+Cc: Jens Axboe <axboe@kernel.dk>
+Cc: Johannes Weiner <hannes@cmpxchg.org>
+Cc: Jonathan Corbet <corbet@lwn.net>
+Cc: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Matthew Wilcox <willy@infradead.org>
+Cc: Mel Gorman <mgorman@suse.de>
+Cc: Michael Larabel <Michael@MichaelLarabel.com>
+Cc: Michal Hocko <mhocko@kernel.org>
+Cc: Mike Rapoport <rppt@kernel.org>
+Cc: Mike Rapoport <rppt@linux.ibm.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Qi Zheng <zhengqi.arch@bytedance.com>
+Cc: Tejun Heo <tj@kernel.org>
+Cc: Vlastimil Babka <vbabka@suse.cz>
+Cc: Will Deacon <will@kernel.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
 ---
- mm/vmscan.c | 186 +++++++++++++++++++++++++++-------------------------
- 1 file changed, 98 insertions(+), 88 deletions(-)
+ mm/vmscan.c | 198 +++++++++++++++++++++++++++-------------------------
+ 1 file changed, 104 insertions(+), 94 deletions(-)
 
 --- a/mm/vmscan.c
 +++ b/mm/vmscan.c
-@@ -2562,6 +2562,103 @@ enum scan_balance {
+@@ -2497,6 +2497,109 @@ enum scan_balance {
        SCAN_FILE,
  };
  
@@ -27,6 +64,12 @@ Change-Id: Iae734b5b4030205b7db6e8c841f747b6f6ae1a04
 +      target_lruvec = mem_cgroup_lruvec(sc->target_mem_cgroup, pgdat);
 +
 +      /*
++       * Flush the memory cgroup stats, so that we read accurate per-memcg
++       * lruvec stats for heuristics.
++       */
++      mem_cgroup_flush_stats();
++
++      /*
 +       * Determine the scan balance between anon and file LRUs.
 +       */
 +      spin_lock_irq(&target_lruvec->lru_lock);
@@ -119,7 +162,7 @@ Change-Id: Iae734b5b4030205b7db6e8c841f747b6f6ae1a04
  /*
   * Determine how aggressively the anon and file LRU lists should be
   * scanned.  The relative value of each set of LRU lists is determined
-@@ -3032,7 +3129,6 @@ static void shrink_node(pg_data_t *pgdat
+@@ -2965,109 +3068,16 @@ static void shrink_node(pg_data_t *pgdat
        unsigned long nr_reclaimed, nr_scanned;
        struct lruvec *target_lruvec;
        bool reclaimable = false;
@@ -127,7 +170,15 @@ Change-Id: Iae734b5b4030205b7db6e8c841f747b6f6ae1a04
  
        target_lruvec = mem_cgroup_lruvec(sc->target_mem_cgroup, pgdat);
  
-@@ -3048,93 +3144,7 @@ again:
+ again:
+-      /*
+-       * Flush the memory cgroup stats, so that we read accurate per-memcg
+-       * lruvec stats for heuristics.
+-       */
+-      mem_cgroup_flush_stats();
+-
+       memset(&sc->nr, 0, sizeof(sc->nr));
        nr_reclaimed = sc->nr_reclaimed;
        nr_scanned = sc->nr_scanned;