diff options
author | Tim Schlueter <schlueter.tim@linux.com> | 2018-08-23 22:37:31 -0700 |
---|---|---|
committer | Tim Schlueter <schlueter.tim@linux.com> | 2018-11-04 13:03:56 -0800 |
commit | f885dc20eb83c134b559059481d77c724297d236 (patch) | |
tree | bbbc20653294882fd8d55b7f2fe15a61a55e3a35 /linux/shrinker.c | |
parent | 19005ecf086b1067362d907c185298d3a43e67e4 (diff) |
Don't read meminfo if there are no shrinkers
Diffstat (limited to 'linux/shrinker.c')
-rw-r--r-- | linux/shrinker.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/linux/shrinker.c b/linux/shrinker.c index b8fc2464..7926be06 100644 --- a/linux/shrinker.c +++ b/linux/shrinker.c @@ -69,8 +69,15 @@ static struct meminfo read_meminfo(void) void run_shrinkers(void) { struct shrinker *shrinker; - struct meminfo info = read_meminfo(); - s64 want_shrink = (info.total >> 2) - info.available; + struct meminfo info; + s64 want_shrink; + + /* Fast out if there are no shrinkers to run. */ + if (list_empty(&shrinker_list)) + return; + + info = read_meminfo(); + want_shrink = (info.total >> 2) - info.available; if (want_shrink <= 0) return; |