mm: vmscan: do not clear SHRINKER_NUMA_AWARE if nr_node_ids == 1
authorVladimir Davydov <vdavydov@virtuozzo.com>
Tue, 15 Mar 2016 21:56:55 +0000 (14:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 15 Mar 2016 23:55:16 +0000 (16:55 -0700)
Currently, on shrinker registration we clear SHRINKER_NUMA_AWARE if
there's the only NUMA node present.  The comment states that this will
allow us to save some small loop time later.  It used to be true when
this code was added (see commit 1d3d4437eae1b ("vmscan: per-node
deferred work")), but since commit 6b4f7799c6a57 ("mm: vmscan: invoke
slab shrinkers from shrink_zone()") it doesn't make any difference.
Anyway, running on non-NUMA machine shouldn't make a shrinker NUMA
unaware, so zap this hunk.

Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c

index 71b1c29..db5722a 100644 (file)
@@ -228,14 +228,6 @@ int register_shrinker(struct shrinker *shrinker)
 {
        size_t size = sizeof(*shrinker->nr_deferred);
 
-       /*
-        * If we only have one possible node in the system anyway, save
-        * ourselves the trouble and disable NUMA aware behavior. This way we
-        * will save memory and some small loop time later.
-        */
-       if (nr_node_ids == 1)
-               shrinker->flags &= ~SHRINKER_NUMA_AWARE;
-
        if (shrinker->flags & SHRINKER_NUMA_AWARE)
                size *= nr_node_ids;