All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch 2/6] Revert "mm: slowly shrink slabs with a relatively small number of objects"
@ 2019-02-12 23:35 akpm
  0 siblings, 0 replies; only message in thread
From: akpm @ 2019-02-12 23:35 UTC (permalink / raw)
  To: stable, riel, mhocko, linux, guro, dairinin, dchinner, akpm,
	mm-commits, torvalds

From: Dave Chinner <dchinner@redhat.com>
Subject: Revert "mm: slowly shrink slabs with a relatively small number of objects"

This reverts 172b06c32b9497 ("mm: slowly shrink slabs with a relatively
small number of objects").

This change changes the agressiveness of shrinker reclaim, causing small
cache and low priority reclaim to greatly increase scanning pressure on
small caches.  As a result, light memory pressure has a disproportionate
affect on small caches, and causes large caches to be reclaimed much
faster than previously.

As a result, it greatly perturbs the delicate balance of the VFS caches
(dentry/inode vs file page cache) such that the inode/dentry caches are
reclaimed much, much faster than the page cache and this drives us into
several other caching imbalance related problems.

As such, this is a bad change and needs to be reverted.

[Needs some massaging to retain the later seekless shrinker
modifications.]

Link: http://lkml.kernel.org/r/20190130041707.27750-3-david@fromorbit.com
Fixes: 172b06c32b9497 ("mm: slowly shrink slabs with a relatively small number of objects")
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Cc: Wolfgang Walter <linux@stwm.de>
Cc: Roman Gushchin <guro@fb.com>
Cc: Spock <dairinin@gmail.com>
Cc: Rik van Riel <riel@surriel.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 mm/vmscan.c |   10 ----------
 1 file changed, 10 deletions(-)

--- a/mm/vmscan.c~revert-mm-slowly-shrink-slabs-with-a-relatively-small-number-of-objects
+++ a/mm/vmscan.c
@@ -491,16 +491,6 @@ static unsigned long do_shrink_slab(stru
 		delta = freeable / 2;
 	}
 
-	/*
-	 * Make sure we apply some minimal pressure on default priority
-	 * even on small cgroups. Stale objects are not only consuming memory
-	 * by themselves, but can also hold a reference to a dying cgroup,
-	 * preventing it from being reclaimed. A dying cgroup with all
-	 * corresponding structures like per-cpu stats and kmem caches
-	 * can be really big, so it may lead to a significant waste of memory.
-	 */
-	delta = max_t(unsigned long long, delta, min(freeable, batch_size));
-
 	total_scan += delta;
 	if (total_scan < 0) {
 		pr_err("shrink_slab: %pF negative objects to delete nr=%ld\n",
_

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-02-12 23:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-12 23:35 [patch 2/6] Revert "mm: slowly shrink slabs with a relatively small number of objects" akpm

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.