From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753855AbcHANTf (ORCPT ); Mon, 1 Aug 2016 09:19:35 -0400 Received: from mail-db5eur01on0139.outbound.protection.outlook.com ([104.47.2.139]:9280 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753327AbcHANSu (ORCPT ); Mon, 1 Aug 2016 09:18:50 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=VDavydov@virtuozzo.com; From: Vladimir Davydov To: Andrew Morton CC: Mel Gorman , Hillf Danton , Johannes Weiner , "Vlastimil Babka" , Michal Hocko , Joonsoo Kim , Minchan Kim , Rik van Riel , , Subject: [PATCH] mm: vmscan: fix memcg-aware shrinkers not called on global reclaim Date: Mon, 1 Aug 2016 16:03:10 +0300 Message-ID: <1470056590-7177-1-git-send-email-vdavydov@virtuozzo.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM4PR0501CA0001.eurprd05.prod.outlook.com (10.167.83.139) To HE1PR0801MB1866.eurprd08.prod.outlook.com (10.168.94.9) X-MS-Office365-Filtering-Correlation-Id: 49873afe-7e71-43f4-9edc-08d3ba0c33c1 X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1866;2:+OLbg6uhc/JSiDP+sKRX5wAdbQssp8sVGpS6v2I45s0E7pyaX1GbCn1Gkj77D3b998S9K4DWi6LgoOh+W8seMUw6bOZ8GIgu6Ut8iO/j7S4VlV41Dzmj4//VMdcHybY48zmVNilhVFmz13hkna+j6r/Y02zVqOgtU1k0qYKwi560wumr5i8PwCPfkius4l4H;3:aix8XibK0VmXT7r3Lf8OVKjbG4tlCQZ63lX+ejdLwjDZdFirIZy551i63BFSjAuBkDZZyV0/UpZ6N5BGq8DEYM+15nwSP+xA01h00FCEfMbGNKOlcKmYoAEhUoIFUbyJ;25:f+pZZyrzbWgfki6j6+wzGhfnAcEfieCAAtHzeGwqCsxHq8jjBjKmpYFHCECu3HybOJhkEv6ov+eAL3mG3uiPbTR+k8suqZJQypQaiIX4Hd4KGPDAOiGmJoJ52AwutO99yNhWWUAsWVvu3kr4KzkDDkLvHhSzuEsRJKYu6UxXl2FUCEBG+uKNrSWZd1hj9tMpRGuWZ4wnVn1BfEjFqTQizfm89GYMZNdb5seo8c/B4z89l2L5uklY59TzXtpqCtTQLr6NmE+lQwJ2M4zyNv8O8eHDYk2z64qYX3FBNiGzoS7/F3CuB2EAWe4cH9Ugn+o0txmldkas444G/pwUvQZVDcdWrK7ioPqXNwYhDhQ55r18t5lbwCF4Q2Z/O7fiwttrUwzAw6QfuASNjzRC61icEr1vhGYDOpMGPqlk+7S1Jeg= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1866; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1866;31:7pixTDfqL13vMas4cKkZgi2z2GtASGpn6o7aSoTK4N3dwoCa8XXGl09x6Z3//A1hQ9SI/bRpBRuFkmkNpbnPQ5cKhlNJL2/UQkCCj8XaMJ5pOj1ScqONQgKPDt777ThOONhhG6VaEQWEMS8GCWWGQWLenHvGUlVagVPKusIYiSHStwOx8Urc/iufI/XKQskrwwzZk8RJ4D+/4irnQlsztjThqNn54zVef98+ODLMoQA=;4:RxgdOTGwR+pIOPx2rXWung21/LaqSNlnzgf16/AK9XguLMSDqipsqnqDo2ogVq6xOygNZv3rCo7QFo8ESiPnBPIesNiN4zw8IwWS5nnITPJsvxSSJS3gfFYN+PMTXo97Od+4Gga9coea1JQ7sO0a/tmXhp1tGqkhtzehNFjw/Ud87zhKq/nqE9XjMmVGJ8vMuIH0RCRzSMvPx/miPYdsBwZm+ZwvwtHHe7CXGn8ygfl7j4u66wEzXSPl0EeEFb3+aMVtXWCHkA4FMwogUMQY6LcJi4tiYoJ/i2TMwNlFJ5wq3o+t3ErfqO1Qrjz7Oz80J4oOMCc+BIFcCIOT1s+K7FrbE7Fx3ntxaJWv/mNyH+voBBUOMXUY+h0MQck4s/qYe+12pFHEaRIxWFxeOJ6ilEz/uWsytxYJ2/k+dJ8T8yE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041072)(6043046);SRVR:HE1PR0801MB1866;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1866; X-Forefront-PRVS: 0021920B5A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(199003)(66066001)(80792005)(77096005)(7416002)(86362001)(50226002)(47776003)(68736007)(48376002)(8676002)(2906002)(81156014)(81166006)(97736004)(106356001)(50466002)(36756003)(50986999)(110136002)(586003)(305945005)(189998001)(101416001)(4326007)(69596002)(6116002)(21086003)(92566002)(3846002)(19580405001)(105586002)(19580395003)(7736002)(7846002)(33646002)(42186005)(229853001)(5003940100001);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1866;H:virtuozzo.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0801MB1866;23:tve4VdkpLRRtnbu2pX8hHeecXLUVNpWDE6fBhHH?= =?us-ascii?Q?uR+FCZSubtjPbxsRBwhdHCpXIOBdQbdgJGdtUZpg1iPpXRDJjY6FaIPWV1H4?= =?us-ascii?Q?Uq+hHy5iYfQTTV9mRjykWwfwyWadZ42wwGVZGzp4w0hznT2yhO0e0zdoOqM4?= =?us-ascii?Q?AFjUv7QEaQvvpf/JxFM4L1N46CzjqPxkrb+D5EdGUn+mZsSNyFTNp+fAAhiP?= =?us-ascii?Q?cGuf0sHMPBlfUfxcMnb4CNxzV1ZZkHtuw7ENOTjxItXcuUoFSDbmMrGw04+O?= =?us-ascii?Q?CCdypxdAizjmtD0CQiNuXbECa2C3bi0YuSy2THOV4enitkhb2gk0jhvcPVC9?= =?us-ascii?Q?RZ+AyplU5GlSKgHUcy3LHn8SgfeYzJ6eZoviz2tvrxDYtYyuBC8XWB3PrFTO?= =?us-ascii?Q?o7bJrSqTVlUABkE31cBX56RD/S/IHTMB0n2LbtBa3+pkXpnaioEiILSGBPkb?= =?us-ascii?Q?yfpc0tnN+nPulQuFhRhMckRCOxufn7N2wQK9KpYGOq53l15dhSHn+wU7uuy9?= =?us-ascii?Q?KyJgTh6mWncuGFHCuWyFs0B+IC7tCIVxhBTl8d8f2l2GUkINJkEk69QvONSr?= =?us-ascii?Q?N+TTa1J/poLnmVj3KpGzbVq+3Cjw+gsaIVovYgoYZjfSZWt4L1i0ilvBBVUZ?= =?us-ascii?Q?gFWkr2bmaLY7VhXe5JVJgb2ChKm6p8WRwjRgV4pLPQNi1zyF6aTkstxAfFNX?= =?us-ascii?Q?6upHjaFyLFnSIH6gs+hcBkt7brz3Y3MKxYwD875UErg+rI2uqrxp+BllOOLS?= =?us-ascii?Q?IfCbObb+e9btsj7+aXYbkPx5ezjGLRYLAsapxWnMSaiCgZfTZecrE37onwAr?= =?us-ascii?Q?Q5Hiw7fFkGw7qvQKhIgI0o4vNeL3vOrBAHid+PFr3uyQmhHYcRwsdNoQBKlI?= =?us-ascii?Q?GPt3NKZ0rrxNC8oZEVZ/C0J+c3E8Met7r+fQwRGwNOzOandrQTm1iovhaVh8?= =?us-ascii?Q?62vc9u7K+u55hmz1wCkz19TcF7b+GR9WkFk79a0FptEZRdx7XLxgMGJbsxd+?= =?us-ascii?Q?uXFzgmTrIkD2FoJLvjhTwBwAEULYwMoC0nihhcpQWtq/HJ4JMhOtQehp5Y6I?= =?us-ascii?Q?FDZIjcPTHsRUrCwQUMRIzNQzfVqRu?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1866;6:oV0Zzg8l102x3WAC6/GjoVmqBr7Gowb4NJ9cidwoKgr3LN15HQ67Bee5XuPBx9V04q329Cn49UVegoBpYBkBawjjpBx5CmAzMAAJ+f3EzGtlaJ678EygZXpz39nst9AR2zlCEgivzieZ4ed0R/ziKPEq6erItV151uX1j70dYvQ47+OjFKTXNhs829625fHD2FdiTJPnJi63c4MHId0XFTIGNeDPx2hpx3EI8MJDFKnzp5wCSgG0ysI8bk8hvLT7YdrRv7EieCWaR9qMZO7GkHAtolJtG0tST/qeGTetXRP4FtFX3EzdAPoYczYmY/Z0;5:oKYWd2Wz71I1FRDhRcHqYaDUcGhXUPBrbWPOcgroYvIJVcdkTXPPPtH3D0S1TRtnzmUa327Sfm4QB6QTD+pF0uBCSD2uF243R7gFjWoZTWQ2jQCbQNaDJ54FoqRuUCxYP+GjyGldC8PaNLAMO7yYRQ==;24:Tk5jneugmL7tG2T9DWnZHA1LQBxkUZmUXApIxxCwFc7ypFDOut4MZxcfNwvUGgqX93mugiTmw8dphSIVaKrBzPggLI3FVYTLTD4sguLveBc=;7:z+N8kCsV4faqQwBfPvSXQKhxBj1lyUatxKxau9aazmJHoEu9QzZHkOOwC2OlMhacV5RN4UFw5xtb04gFWC3IDxk1Qhq9x/E0vXFdrH1QvXoakwdUqn6h1BusLxV9FnAAk/M3xM9iNsbKaUa3JyHPK6p/TrrgzAZsUBEcp2ruvQp+uS/G2QioqkvlHBoy49CelDLUzT/+3mgMw56BXTKTtleVOA6t8JHqndcB/YzSmS1XUV17+EWJXi7X5eWK0hGS SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1866;20:SQeG81HOI4ceYmNbb0AhlEaJvIxCbpvoPhxwwzXEAcBcW2DQQSzMzm47YEQjQe9KxN+bX3mVATg6haGuUGXqFJ77opr1lGanwGkk/B8LJvmwppgVUJ6WRnf5BwHSMn+VDoBsTSNntPjju2NFYnO0R3RaqgyWlWQUvPA7CVr0KxM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2016 13:03:14.9243 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1866 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We must call shrink_slab() for each memory cgroup on both global and memcg reclaim in shrink_node_memcg(). Commit d71df22b55099 accidentally changed that so that now shrink_slab() is only called with memcg != NULL on memcg reclaim. As a result, memcg-aware shrinkers (including dentry/inode) are never invoked on global reclaim. Fix that. Fixes: d71df22b55099 ("mm, vmscan: begin reclaiming pages on a per-node basis") Signed-off-by: Vladimir Davydov --- mm/vmscan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 650d26832569..374d95d04178 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2561,7 +2561,7 @@ static bool shrink_node(pg_data_t *pgdat, struct scan_control *sc) shrink_node_memcg(pgdat, memcg, sc, &lru_pages); node_lru_pages += lru_pages; - if (!global_reclaim(sc)) + if (memcg) shrink_slab(sc->gfp_mask, pgdat->node_id, memcg, sc->nr_scanned - scanned, lru_pages); -- 2.1.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it0-f70.google.com (mail-it0-f70.google.com [209.85.214.70]) by kanga.kvack.org (Postfix) with ESMTP id EDBBD6B0005 for ; Mon, 1 Aug 2016 09:03:20 -0400 (EDT) Received: by mail-it0-f70.google.com with SMTP id c126so184346699ith.3 for ; Mon, 01 Aug 2016 06:03:20 -0700 (PDT) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50095.outbound.protection.outlook.com. [40.107.5.95]) by mx.google.com with ESMTPS id e136si27714269ioe.224.2016.08.01.06.03.19 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 01 Aug 2016 06:03:20 -0700 (PDT) From: Vladimir Davydov Subject: [PATCH] mm: vmscan: fix memcg-aware shrinkers not called on global reclaim Date: Mon, 1 Aug 2016 16:03:10 +0300 Message-ID: <1470056590-7177-1-git-send-email-vdavydov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain Sender: owner-linux-mm@kvack.org List-ID: To: Andrew Morton Cc: Mel Gorman , Hillf Danton , Johannes Weiner , Vlastimil Babka , Michal Hocko , Joonsoo Kim , Minchan Kim , Rik van Riel , linux-mm@kvack.org, linux-kernel@vger.kernel.org We must call shrink_slab() for each memory cgroup on both global and memcg reclaim in shrink_node_memcg(). Commit d71df22b55099 accidentally changed that so that now shrink_slab() is only called with memcg != NULL on memcg reclaim. As a result, memcg-aware shrinkers (including dentry/inode) are never invoked on global reclaim. Fix that. Fixes: d71df22b55099 ("mm, vmscan: begin reclaiming pages on a per-node basis") Signed-off-by: Vladimir Davydov --- mm/vmscan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 650d26832569..374d95d04178 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2561,7 +2561,7 @@ static bool shrink_node(pg_data_t *pgdat, struct scan_control *sc) shrink_node_memcg(pgdat, memcg, sc, &lru_pages); node_lru_pages += lru_pages; - if (!global_reclaim(sc)) + if (memcg) shrink_slab(sc->gfp_mask, pgdat->node_id, memcg, sc->nr_scanned - scanned, lru_pages); -- 2.1.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org