summaryrefslogtreecommitdiff
path: root/linux/shrinker.c
diff options
context:
space:
mode:
authorTim Schlueter <schlueter.tim@linux.com>2018-08-23 22:37:31 -0700
committerTim Schlueter <schlueter.tim@linux.com>2018-11-04 13:03:56 -0800
commitf885dc20eb83c134b559059481d77c724297d236 (patch)
treebbbc20653294882fd8d55b7f2fe15a61a55e3a35 /linux/shrinker.c
parent19005ecf086b1067362d907c185298d3a43e67e4 (diff)
Don't read meminfo if there are no shrinkers
Diffstat (limited to 'linux/shrinker.c')
-rw-r--r--linux/shrinker.c11
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;