Revert "mm: slowly shrink slabs with a relatively small number of objects"
Subsystems (2)
Sasha Levin
maintainerPATCH 1/1 Revert "mm: slowly shrink slabs with a relatively small number of objects"
This reverts commit 62aad93f09c1952ede86405894df1b22012fd5ab.
Which was upstream commit 172b06c32b94 ("mm: slowly shrink slabs with a relatively small number of objects").
The upstream commit was found to cause regressions. While there is a proposed fix upstream, revent this patch from stable trees for now as testing the fix will take some time.
--- mm/vmscan.c | 11 ----------- 1 file changed, 11 deletions(-)
mm/vmscan.c +0 -11
@@ -386,17 +386,6 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, delta = freeable >> priority; delta *=4 ;do_div (delta, shrinker->seeks); - -/* -* 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",
Signature · 1 line
2.17.1
Sasha Levin
maintainerQuoted 26 lines · Sasha Levin
This reverts commit
62aad93f09c1952ede86405894df1b22012fd5ab.Which was upstream commit
172b06c32b94("mm: slowly shrink slabs with a relatively small number of objects").The upstream commit was found to cause regressions. While there is a proposed fix upstream, revent this patch from stable trees for now as testing the fix will take some time.
Signed-off-by Sasha Levin <[email protected]>---
mm/vmscan.c| 11 -----------1 file changed, 11 deletions(-)mm/vmscan.c +0
-4@@ -386,17 +386,6 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, delta = freeable >> priority; delta *=4 ;do_div (delta, shrinker->seeks); - -/* -* Make sure we apply some minimal pressure on default priority -* even on small cgroups. Stale objects are not only consuming memory
mm/vmscan.c static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, · line 391
Quoted 10 lines
mm/vmscan.c +0
-7-* 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",
I've queued it up for 4.18.
--
Thanks,
Sasha