[Devel] [PATCH RHEL7 COMMIT] ms/mm: vmscan: reclaim highmem zone if buffer_heads is over limit

Konstantin Khorenko khorenko at virtuozzo.com
Wed Jun 26 15:34:09 MSK 2024


The commit is pushed to "branch-rh7-3.10.0-1160.119.1.vz7.224.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-1160.119.1.el7
------>
commit d00cdf4d2c7671795ec26839d0efba5bc9dc4d4b
Author: Minchan Kim <minchan at kernel.org>
Date:   Thu Apr 28 16:18:38 2016 -0700

    ms/mm: vmscan: reclaim highmem zone if buffer_heads is over limit
    
    We have been reclaimed highmem zone if buffer_heads is over limit but
    commit 6b4f7799c6a5 ("mm: vmscan: invoke slab shrinkers from
    shrink_zone()") changed the behavior so it doesn't reclaim highmem zone
    although buffer_heads is over the limit.  This patch restores the logic.
    
    mFixes: 6b4f7799c6a5 ("mm: vmscan: invoke slab shrinkers from shrink_zone()")
    Signed-off-by: Minchan Kim <minchan at kernel.org>
    Cc: Johannes Weiner <hannes at cmpxchg.org>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
    
    Backported in the scope of
    https://virtuozzo.atlassian.net/browse/PSBM-157196
    
    (cherry picked from commit 7bf52fb891b64b8d61caf0b82060adb9db761aec)
    Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
---
 mm/vmscan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 81a115313582..9e50027a59be 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2876,7 +2876,7 @@ static bool shrink_zones(struct zonelist *zonelist, struct scan_control *sc)
 		sc->gfp_mask |= __GFP_HIGHMEM;
 
 	for_each_zone_zonelist_nodemask(zone, z, zonelist,
-					requested_highidx, sc->nodemask) {
+					gfp_zone(sc->gfp_mask), sc->nodemask) {
 		enum zone_type classzone_idx;
 
 		if (!populated_zone(zone))


More information about the Devel mailing list