mm: multi-gen LRU: remove NULL checks on NODE_DATA()
authorYu Zhao <yuzhao@google.com>
Wed, 16 Nov 2022 01:38:08 +0000 (18:38 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 30 Nov 2022 23:59:00 +0000 (15:59 -0800)
NODE_DATA() is preallocated for all possible nodes after commit
09f49dca570a ("mm: handle uninitialized numa nodes gracefully").  Checking
its return value against NULL is now unnecessary.

Link: https://lkml.kernel.org/r/20221116013808.3995280-2-yuzhao@google.com
Signed-off-by: Yu Zhao <yuzhao@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/vmscan.c

index 82f32c9..805fa51 100644 (file)
@@ -3166,7 +3166,7 @@ static struct lruvec *get_lruvec(struct mem_cgroup *memcg, int nid)
        if (memcg) {
                struct lruvec *lruvec = &memcg->nodeinfo[nid]->lruvec;
 
-               /* for hotadd_new_pgdat() */
+               /* see the comment in mem_cgroup_lruvec() */
                if (!lruvec->pgdat)
                        lruvec->pgdat = pgdat;
 
@@ -3175,7 +3175,7 @@ static struct lruvec *get_lruvec(struct mem_cgroup *memcg, int nid)
 #endif
        VM_WARN_ON_ONCE(!mem_cgroup_disabled());
 
-       return pgdat ? &pgdat->__lruvec : NULL;
+       return &pgdat->__lruvec;
 }
 
 static int get_swappiness(struct lruvec *lruvec, struct scan_control *sc)
@@ -3239,9 +3239,6 @@ void lru_gen_add_mm(struct mm_struct *mm)
        for_each_node_state(nid, N_MEMORY) {
                struct lruvec *lruvec = get_lruvec(memcg, nid);
 
-               if (!lruvec)
-                       continue;
-
                /* the first addition since the last iteration */
                if (lruvec->mm_state.tail == &mm_list->fifo)
                        lruvec->mm_state.tail = &mm->lru_gen.list;
@@ -3271,9 +3268,6 @@ void lru_gen_del_mm(struct mm_struct *mm)
        for_each_node(nid) {
                struct lruvec *lruvec = get_lruvec(memcg, nid);
 
-               if (!lruvec)
-                       continue;
-
                /* where the last iteration ended (exclusive) */
                if (lruvec->mm_state.tail == &mm->lru_gen.list)
                        lruvec->mm_state.tail = lruvec->mm_state.tail->next;
@@ -5348,9 +5342,6 @@ static void lru_gen_change_state(bool enabled)
                for_each_node(nid) {
                        struct lruvec *lruvec = get_lruvec(memcg, nid);
 
-                       if (!lruvec)
-                               continue;
-
                        spin_lock_irq(&lruvec->lru_lock);
 
                        VM_WARN_ON_ONCE(!seq_is_valid(lruvec));