From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932171AbcE0OqB (ORCPT ); Fri, 27 May 2016 10:46:01 -0400 Received: from mail-am1on0115.outbound.protection.outlook.com ([157.56.112.115]:46400 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754550AbcE0OqA (ORCPT ); Fri, 27 May 2016 10:46:00 -0400 Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=virtuozzo.com; Date: Fri, 27 May 2016 17:45:49 +0300 From: Vladimir Davydov To: Michal Hocko CC: Andrew Morton , Tetsuo Handa , David Rientjes , Johannes Weiner , , Subject: Re: [PATCH 2/2] mm: oom: deduplicate victim selection code for memcg and global oom Message-ID: <20160527144549.GC26059@esperanza> References: <40e03fd7aaf1f55c75d787128d6d17c5a71226c2.1464358556.git.vdavydov@virtuozzo.com> <3bbc7b70dae6ace0b8751e0140e878acfdfffd74.1464358556.git.vdavydov@virtuozzo.com> <20160527142626.GQ27686@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20160527142626.GQ27686@dhcp22.suse.cz> X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM3PR03CA021.eurprd03.prod.outlook.com (10.141.191.149) To DB5PR08MB0584.eurprd08.prod.outlook.com (10.169.32.142) X-MS-Office365-Filtering-Correlation-Id: 02f73153-2e45-42a6-4003-08d3863d9c74 X-Microsoft-Exchange-Diagnostics: 1;DB5PR08MB0584;2:ZGEq85F55kNps6IT0KiRKyo+ufa6RrQ93WYHV9yP1xOa6yWVgrCvB5CH3jYSNF4oVl8OIOztvogIbQnryklDZb+dbM8Eqv76k7IrUA7yT7jcENpUSB3q3rLw9Mfu3gm2wA+LZbIoRuz+OBc50DIyAmVNe2mPKl8m4tIFhXb2Uh4EmGlYSUYwzENFlt29U7Hm;3:oBY8wwsoD+ASwwIo9vNdhw6dpjR3NL04Hxj2N0QXZq9OrzoqyLj3TUEaz0rDfyBCKv0h+AxYP8o8G6mXGKROfQ/8IVX+xHO1FBbfUeqWfNLbVBXLMIQ5L7mzt0dN1akA;25:wFGTmc8Sk22Qc3/Rs9iq03VIGC2K53f1n/2jlT1NlI903kLIy0gl3PDXhPvgyjGvzKeRxSSoAA+POQL3wq2EgdPLBWzjUxsn1Uwjj7GzvSDiEP8w9LthYGFXJRgmgGt6Wm/mUnYraRtMUy6SJ5Hk9KQH4ESWjMKwprNtvjsZxDfrgHZHtHY408/a6D5aebEaF/p2Bb3FGw5Zp7KVOmeE2RIP05Usu1tP0gCrVVaIGTJZVsMbweL5srk4KwsQhTTIgmlILPv3z1dPnCWe3yXWtonPB6hJzw4RsJlYFIYgskc5bXSkz2WG5zNiIC/4/Uw1js+D3E0mLRj49hmXBJVbBmAyEd/ABVr6HOvLLasQqLj5UijAY2St8Cf3W01RcJC/ULwqTETqMhHtVQfcWTcQcZmKeoycrOStUxfiTvfGcyU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB5PR08MB0584; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041072)(6043046);SRVR:DB5PR08MB0584;BCL:0;PCL:0;RULEID:;SRVR:DB5PR08MB0584; X-Microsoft-Exchange-Diagnostics: 1;DB5PR08MB0584;4:hBwngRgM+jPsaMfUFvJn4wgfjRmYK0KEFceA4EQBAV0RlSFG55j7ZwluHKfkLVIpFkGWtqnzvG6WmV4jLYfo8ScqyklvEqQDdmlMc0YqzoC6u9lJNDGPYlvrG9xA/6pWyv7Df8piWTx9dTtwfXfalby+txXxnc6GVBhf/8XwF3a73bdu1X7q6Q68oz56mCIbs0BHCoryDSjDCcugpAH/SSEGirUsEoF1uqDleglsAYUH+ByLOQwJM7YjQ4XdQOR+TJp926pmXqLWP+ZrpMcesZ7T/6t2wh2qFBkcbSoYLKVEpOjDFXyu9l7qEmChDZFM2wwkb1uobi24vw6aymL0YXSEjVTKJSEebjrRefVxPbcNfWhLh1T6jL2CaO1Cp7XTI+bBjJk2ihaxqblnp2uMaP+1J7KCIIjcEsZ43G5tMVU= X-Forefront-PRVS: 09555FB1AD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(51694002)(501624003)(24454002)(377424004)(86362001)(77096005)(66066001)(189998001)(47776003)(110136002)(80792005)(5004730100002)(2950100001)(54356999)(50986999)(76176999)(4326007)(2906002)(23726003)(1076002)(81166006)(46406003)(8676002)(586003)(33656002)(9686002)(3846002)(6116002)(33716001)(50466002)(5008740100001)(97756001)(92566002)(42186005);DIR:OUT;SFP:1102;SCL:1;SRVR:DB5PR08MB0584;H:esperanza;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB5PR08MB0584;23:Gfz/CAhKyyidqBTCkzpagYKrEtqie+VllY/70CslelBaXlJb/bHfww0H+vLVI1sGMu2NPw+CH4jg7BNEqVOuPKyj83QgVPukEnTted1hmIa4qJkaji6XJUrW9Pk707TkHpzeAPQlTmXjdkEHhsQ8tNwuIIY1wGQu12uRskLOJJFF1WyxDG8JhJuUHBeiRGzo+DB7BfwonvoA4n9Rik6WEdvUwXjrjXQqrPHOEpnkwthZ6aUKSb9iIO1E0cSV7I9jGdNNIWgcxAVpA9vCabKsB+RMeo82JVGtCJ2XBkcKKVRg5N1IZnGEn35POE3qrLyHQm5+RuB7E27TLA9fMKxUpItVM+WHrnpz1qCuOuBrIUxNPTJk4ZQHoYll59XuShgLgWZTsNl/CNw6AFjAYGIYopCiCJI4te+TgTJE6g1p4v0/h3zi2trvtPU7vaff0UFfohqo0MXyt1HoAs0SXDFWPx8dLGYQ/EI2/KyMKyJc0uW1ZiJI9+zMYXExhXeUh8dhA3Rgps6zNl3J2VFPdpoTJfe4gw2DDPpKXbSdS5sJAoZ9smS8W5l0ntOb7oZ0pytJMWcAqIcq6TOEhDU56kcv1E739FKnCjcDPbZF1xeGFHYIJ6n8AoTL7X2g2Yi0KzjTr4JsQB/PSoEYxpfuBJfC4d/3FQoddykFKvHXOp83pci4gYFwzMFHw2JEactP6zv6tlLWTK1C0h9puDckVSr6sQB5F5taZQcaL6NWy3K1hLEeDCoyQq7gOxp8dbtD6qy1bCDziGpuZDjfok/zEg/SozlOtj/YQGmWf4vY/hUazs7EeV/5+tT9mrC7THhpz0jbhAEYQnl7cdmmbMN6O1krTcBH907JAe4qUOnWGhstcYAOUxdp7FCikcfnBoffqdh5J5frprsTK+w/vaStfAC6K2HudEm+s3pDNwfkw2+35YdQ6zu/fu+B+1CBOsLqpfwD X-Microsoft-Exchange-Diagnostics: 1;DB5PR08MB0584;5:2ZPa8BjcRd00/IAdskK9jHoVpyIUnISH93aR89yXnz9TvE9k5emS3ydzois3LL7gSfidvm99okdtGwUREZPOLy5Kb8eVBanGkqEQk5tIzgv6P9qyd4EUD2qN5GNqlhQx5GwsKqq2uMBsyOQtvp+Sbg==;24:JgLMcCNKkYXJNTl6CCtZPpnAjdcpR8W7YtU9F+1namLcUzCn78Cs1V5aBmdJANebHMKp9ksNbyhfQraWSfOfOapW1qs5Kx11RCPbo+tKSFU=;7:UU+Q40X8+KRT6/xjMf3p4Oq/3gSLd2jkIXqN0VkyV8OZlp+i8HTrV/Oan1YQaQKJiamps0usTERwKi890cnTQWSn7wHjX4ropLMNw8G3k7jjB/jSbVs2FE0Pm+Z5/EDX1Us574y06eM6ms1OV8YY/xya9gJ/xAXNluZ3lUCeCUY1WmH91IpfHUyL3CtgIn20;20:JNmQpI/Gtm4/Z5n5QBc5Qpi5OYJ9WZnKJ3T7o9l9gBVPprbvaoONbk5KlD6M4JGDk8pWpyXbftycmCawzQUHvcPBdWezdslohyVJfb3v/3yCNqR8jR+cRgzyNXPBgggVn+YxbIIp3vHhuMMKYK8X4DSx7PMMp+0hzPaC2fEuLxM= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2016 14:45:55.5987 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB0584 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 27, 2016 at 04:26:26PM +0200, Michal Hocko wrote: > On Fri 27-05-16 17:17:42, Vladimir Davydov wrote: > > When selecting an oom victim, we use the same heuristic for both memory > > cgroup and global oom. The only difference is the scope of tasks to > > select the victim from. So we could just export an iterator over all > > memcg tasks and keep all oom related logic in oom_kill.c, but instead we > > duplicate pieces of it in memcontrol.c reusing some initially private > > functions of oom_kill.c in order to not duplicate all of it. That looks > > ugly and error prone, because any modification of select_bad_process > > should also be propagated to mem_cgroup_out_of_memory. > > > > Let's rework this as follows: keep all oom heuristic related code > > private to oom_kill.c and make oom_kill.c use exported memcg functions > > when it's really necessary (like in case of iterating over memcg tasks). > > I am doing quite large changes in this area and this would cause many > conflicts. Do you think you can postpone this after my patchset [1] gets > sorted out please? I'm fine with it. > > I haven't looked at the patch carefully so I cannot tell much about it > right now but just wanted to give a heads up for the conflicts. I'd appreciate if you could take a look at this patch once time permits. Thanks, Vladimir