From f885dc20eb83c134b559059481d77c724297d236 Mon Sep 17 00:00:00 2001 From: Tim Schlueter Date: Thu, 23 Aug 2018 22:37:31 -0700 Subject: [PATCH] Don't read meminfo if there are no shrinkers --- linux/shrinker.c | 11 +++++++++-- 1 file 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;