From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758719AbcDAH7P (ORCPT ); Fri, 1 Apr 2016 03:59:15 -0400 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:50181 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753545AbcDAH7N (ORCPT ); Fri, 1 Apr 2016 03:59:13 -0400 X-Original-SENDERIP: 156.147.1.127 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.223.161 X-Original-MAILFROM: minchan@kernel.org From: Minchan Kim To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Minchan Kim , Johannes Weiner , Michal Hocko Subject: [PATCH] mm: vmscan: reclaim highmem zone if buffer_heads is over limit Date: Fri, 1 Apr 2016 17:00:58 +0900 Message-Id: <1459497658-22203-1-git-send-email-minchan@kernel.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We have been reclaimed highmem zone if buffer_heads is over limit but [1] changed the behavior so it doesn't reclaim highmem zone although buffer_heads is over the limit. This patch restores the logic. As well, [2] removed classzone_idx so we don't need code related to it. This patch cleans it up. [1] commit 6b4f7799c6a5 ("mm: vmscan: invoke slab shrinkers from shrink_zone()") [2] commit 5acbd3bfc93b ("mm, oom: rework oom detection") Cc: Johannes Weiner Cc: Michal Hocko Signed-off-by: Minchan Kim --- mm/vmscan.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index c7696a2e11c7..6e67de2a61ed 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2550,17 +2550,9 @@ static void 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) { - enum zone_type classzone_idx; - + gfp_zone(sc->gfp_mask), sc->nodemask) { if (!populated_zone(zone)) continue; - - classzone_idx = requested_highidx; - while (!populated_zone(zone->zone_pgdat->node_zones + - classzone_idx)) - classzone_idx--; - /* * Take care memory controller reclaiming has small influence * to global LRU. -- 1.9.1