kernel: bump 6.1 to 6.1.54
[openwrt/openwrt.git] / target / linux / generic / backport-6.1 / 020-v6.3-07-BACKPORT-mm-multi-gen-LRU-clarify-scan_control-flags.patch
index 29430636ff41f4398289b00fb609a7f720932bb7..d60ddb9dccafed5e31d564f7963d2b2613d4c883 100644 (file)
@@ -69,7 +69,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
                VM_WARN_ON_ONCE(current_is_kswapd());
  
                walk = kzalloc(sizeof(*walk), __GFP_HIGH | __GFP_NOMEMALLOC | __GFP_NOWARN);
-@@ -4417,7 +4420,7 @@ static bool try_to_inc_max_seq(struct lr
+@@ -4419,7 +4422,7 @@ static bool try_to_inc_max_seq(struct lr
                goto done;
        }
  
@@ -78,7 +78,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
        if (!walk) {
                success = iterate_mm_list_nowalk(lruvec, max_seq);
                goto done;
-@@ -4486,8 +4489,6 @@ static bool lruvec_is_reclaimable(struct
+@@ -4488,8 +4491,6 @@ static bool lruvec_is_reclaimable(struct
        struct mem_cgroup *memcg = lruvec_memcg(lruvec);
        DEFINE_MIN_SEQ(lruvec);
  
@@ -87,7 +87,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
        /* see the comment on lru_gen_folio */
        gen = lru_gen_from_seq(min_seq[LRU_GEN_FILE]);
        birth = READ_ONCE(lruvec->lrugen.timestamps[gen]);
-@@ -4743,12 +4744,8 @@ static bool isolate_folio(struct lruvec
+@@ -4753,12 +4754,8 @@ static bool isolate_folio(struct lruvec
  {
        bool success;
  
@@ -101,7 +101,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
            (folio_test_dirty(folio) ||
             (folio_test_anon(folio) && !folio_test_swapcache(folio))))
                return false;
-@@ -4845,9 +4842,8 @@ static int scan_folios(struct lruvec *lr
+@@ -4857,9 +4854,8 @@ static int scan_folios(struct lruvec *lr
        __count_vm_events(PGSCAN_ANON + type, isolated);
  
        /*
@@ -113,7 +113,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
         */
        return isolated || !remaining ? scanned : 0;
  }
-@@ -5107,8 +5103,7 @@ static long get_nr_to_scan(struct lruvec
+@@ -5119,8 +5115,7 @@ static long get_nr_to_scan(struct lruvec
        struct mem_cgroup *memcg = lruvec_memcg(lruvec);
        DEFINE_MAX_SEQ(lruvec);
  
@@ -123,7 +123,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
                return 0;
  
        if (!should_run_aging(lruvec, max_seq, sc, can_swap, &nr_to_scan))
-@@ -5136,17 +5131,14 @@ static bool try_to_shrink_lruvec(struct
+@@ -5148,17 +5143,14 @@ static bool try_to_shrink_lruvec(struct
        long nr_to_scan;
        unsigned long scanned = 0;
        unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
@@ -146,7 +146,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
  
                nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
                if (nr_to_scan <= 0)
-@@ -5277,12 +5269,13 @@ static void lru_gen_shrink_lruvec(struct
+@@ -5289,12 +5281,13 @@ static void lru_gen_shrink_lruvec(struct
        struct blk_plug plug;
  
        VM_WARN_ON_ONCE(global_reclaim(sc));
@@ -161,7 +161,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
  
        if (try_to_shrink_lruvec(lruvec, sc))
                lru_gen_rotate_memcg(lruvec, MEMCG_LRU_YOUNG);
-@@ -5338,11 +5331,19 @@ static void lru_gen_shrink_node(struct p
+@@ -5350,11 +5343,19 @@ static void lru_gen_shrink_node(struct p
  
        VM_WARN_ON_ONCE(!global_reclaim(sc));
  
@@ -182,7 +182,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
  
        set_initial_priority(pgdat, sc);
  
-@@ -5360,7 +5361,7 @@ static void lru_gen_shrink_node(struct p
+@@ -5372,7 +5373,7 @@ static void lru_gen_shrink_node(struct p
        clear_mm_walk();
  
        blk_finish_plug(&plug);
@@ -191,7 +191,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
        /* kswapd should never fail */
        pgdat->kswapd_failures = 0;
  }
-@@ -5932,7 +5933,7 @@ static ssize_t lru_gen_seq_write(struct
+@@ -5944,7 +5945,7 @@ static ssize_t lru_gen_seq_write(struct
        set_task_reclaim_state(current, &sc.reclaim_state);
        flags = memalloc_noreclaim_save();
        blk_start_plug(&plug);