ath79: add support for Huawei AP5030DN
[openwrt/openwrt.git] / target / linux / generic / backport-6.1 / 020-v6.4-19-mm-Multi-gen-LRU-remove-wait_event_killable.patch
index 4bf796c93d2bd87998e854e4fc76a0981143dca4..1b0459cdb9cc97979565ba2096acb9f7db609279 100644 (file)
@@ -46,8 +46,6 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
  mm/vmscan.c            | 112 +++++++++++++++--------------------------
  2 files changed, 42 insertions(+), 78 deletions(-)
 
-diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
-index 403c7461e7a70..d62a5accf1be4 100644
 --- a/include/linux/mmzone.h
 +++ b/include/linux/mmzone.h
 @@ -453,18 +453,14 @@ enum {
@@ -71,11 +69,9 @@ index 403c7461e7a70..d62a5accf1be4 100644
  };
  
  struct lru_gen_mm_walk {
-diff --git a/mm/vmscan.c b/mm/vmscan.c
-index f6ce7a1fd78a3..851758303dbf4 100644
 --- a/mm/vmscan.c
 +++ b/mm/vmscan.c
-@@ -3371,18 +3371,13 @@ void lru_gen_del_mm(struct mm_struct *mm)
+@@ -3371,18 +3371,13 @@ void lru_gen_del_mm(struct mm_struct *mm
                if (!lruvec)
                        continue;
  
@@ -99,7 +95,7 @@ index f6ce7a1fd78a3..851758303dbf4 100644
        }
  
        list_del_init(&mm->lru_gen.list);
-@@ -3478,68 +3473,54 @@ static bool iterate_mm_list(struct lruvec *lruvec, struct lru_gen_mm_walk *walk,
+@@ -3478,68 +3473,54 @@ static bool iterate_mm_list(struct lruve
                            struct mm_struct **iter)
  {
        bool first = false;
@@ -191,7 +187,7 @@ index f6ce7a1fd78a3..851758303dbf4 100644
        if (*iter || last)
                reset_mm_stats(lruvec, walk, last);
  
-@@ -3567,9 +3548,9 @@ static bool iterate_mm_list_nowalk(struct lruvec *lruvec, unsigned long max_seq)
+@@ -3567,9 +3548,9 @@ static bool iterate_mm_list_nowalk(struc
  
        VM_WARN_ON_ONCE(mm_state->seq + 1 < max_seq);
  
@@ -204,7 +200,7 @@ index f6ce7a1fd78a3..851758303dbf4 100644
                WRITE_ONCE(mm_state->seq, mm_state->seq + 1);
                reset_mm_stats(lruvec, NULL, true);
                success = true;
-@@ -4172,10 +4153,6 @@ static int walk_pud_range(p4d_t *p4d, unsigned long start, unsigned long end,
+@@ -4172,10 +4153,6 @@ restart:
  
                walk_pmd_range(&val, addr, next, args);
  
@@ -215,7 +211,7 @@ index f6ce7a1fd78a3..851758303dbf4 100644
                if (need_resched() || walk->batched >= MAX_LRU_BATCH) {
                        end = (addr | ~PUD_MASK) + 1;
                        goto done;
-@@ -4208,8 +4185,14 @@ static void walk_mm(struct lruvec *lruvec, struct mm_struct *mm, struct lru_gen_
+@@ -4208,8 +4185,14 @@ static void walk_mm(struct lruvec *lruve
        walk->next_addr = FIRST_USER_ADDRESS;
  
        do {
@@ -230,7 +226,7 @@ index f6ce7a1fd78a3..851758303dbf4 100644
                /* folio_update_gen() requires stable folio_memcg() */
                if (!mem_cgroup_trylock_pages(memcg))
                        break;
-@@ -4442,25 +4425,12 @@ static bool try_to_inc_max_seq(struct lruvec *lruvec, unsigned long max_seq,
+@@ -4444,25 +4427,12 @@ static bool try_to_inc_max_seq(struct lr
                success = iterate_mm_list(lruvec, walk, &mm);
                if (mm)
                        walk_mm(lruvec, mm, walk);
@@ -259,7 +255,7 @@ index f6ce7a1fd78a3..851758303dbf4 100644
  }
  
  /******************************************************************************
-@@ -6105,7 +6075,6 @@ void lru_gen_init_lruvec(struct lruvec *lruvec)
+@@ -6117,7 +6087,6 @@ void lru_gen_init_lruvec(struct lruvec *
                INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]);
  
        lruvec->mm_state.seq = MIN_NR_GENS;
@@ -267,7 +263,7 @@ index f6ce7a1fd78a3..851758303dbf4 100644
  }
  
  #ifdef CONFIG_MEMCG
-@@ -6138,7 +6107,6 @@ void lru_gen_exit_memcg(struct mem_cgroup *memcg)
+@@ -6150,7 +6119,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
        for_each_node(nid) {
                struct lruvec *lruvec = get_lruvec(memcg, nid);
  
@@ -275,6 +271,3 @@ index f6ce7a1fd78a3..851758303dbf4 100644
                VM_WARN_ON_ONCE(memchr_inv(lruvec->lrugen.nr_pages, 0,
                                           sizeof(lruvec->lrugen.nr_pages)));
  
--- 
-2.40.1
-