From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752579AbcF1QdL (ORCPT ); Tue, 28 Jun 2016 12:33:11 -0400 Received: from mail-db5eur01on0090.outbound.protection.outlook.com ([104.47.2.90]:24304 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752553AbcF1QdJ (ORCPT ); Tue, 28 Jun 2016 12:33:09 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=VDavydov@virtuozzo.com; Date: Tue, 28 Jun 2016 19:16:42 +0300 From: Vladimir Davydov To: David Rientjes CC: Andrew Morton , Michal Hocko , Johannes Weiner , Tetsuo Handa , , Subject: Re: [PATCH v2] mm: oom: deduplicate victim selection code for memcg and global oom Message-ID: <20160628161642.GA30658@esperanza> References: <1467045594-20990-1-git-send-email-vdavydov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM5PR0901CA0018.eurprd09.prod.outlook.com (10.164.186.156) To HE1PR0801MB1628.eurprd08.prod.outlook.com (10.168.149.12) X-MS-Office365-Filtering-Correlation-Id: b6633a01-abfe-438b-1d5e-08d39f6f9b51 X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1628;2:waY9g7eyg7UifpdznnDYtNWMy1qVZBJFumIyPgIvkSgnLh5Pd2wCQs8ReClupksKhuPeJcwo+tuc3vnRbwW0qWNrbIze597B8BoLiFsqaBKCDGS/8xmnHuAlSqn67CSSO5n4XLIEmoPZLglPbJzcfxeXWxNzmof13vQPNws3LA04C/+s8YehnK/gLhwD7Zyt;3:80TdCrwMtstOl0mAJ7JNzNP5xagYwCEnk8EBzwnax4FF+CB1c4Lz5vhHtQpTe4NJ79sMEibXYKf4Yw0SdgDV/vfqKgU7ajZK8WnPCCc0icU4ROtZ6NsIaQhDyltpBNxV X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1628; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1628;25:YIVZmkPzAFMX80UhPUaKJoLNzAlXeOJEUwRNnu8xAEpsoxqMlVA/sHHTVafAYYOapaQe7Nx4hqfuvbQNoL9XJlP0cK0BgouTACvADH8rmI71GgecWwl6NMlzK102zJEIHkO0ZCiatFSkAzAzcdCLmKBWHFq/TbI5U0xDOvyvh3EK8NQa9C+/juxOFQbCJQVZAnA/DefoKs5O6IL6/RNEovDxgdQedu64sk9+zGqNDnp3Gq5s2Eu17NNe61eK4Y5E0JgpzI9hwc/Z5kHCDgb7YCwvU99nV8fFnn9Ytsavt1jsoAFN2lM7vzGgQX1JnBw5pYZ2wJiAPB8w2qoMjaGpYXnbo+PKTazBM7wYkfV/tbNNNf8mlLekOOIXbmLDGL3L/HEM1l3gANLeXvQqhzbUiEQ2iH8JROYebWxwgRkl2XJb9v7ETg1muezHOxeKWql3yFQ9xd7wJyrHX0K40L3be4LM+TU3M22KsT15OqBSB10PWBrirFSKo2UyVq92gaZOcBicfA27bt/YmTqEpYNyLb4Ilno3cY//FwRRrKHXVTMlSjbRauY0PZFEjUkXvJ1Cs/eQYL3ocRfOa98K8iiVmh1v0+ZMODirBZZh0L4KmzrTjhGIKRx9djSa9VqXXFbAOTt8E/uQiOSIiAEM0hU3wieL3eyEw0VAioBaP5oURYw0pT+gNZ9POaB9uz5ZbjeRZ/ILqop6TuNqdVdX1W+QKQ== 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:HE1PR0801MB1628;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1628; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1628;4:VgSA0XWdKC6flv8L+IxI1WOKNDpltkTQ2mtozsaWaCuOTlOMX1THVFq0b1MJIKqo68G9cjUE6eAtDlzU4fBCtnOW8XQgSJx0hoZE2udGqtYtuUpYSn07qkmtYcW2MbNXQBWzzof8c464Ax8ov2VVO+4i2/R9P/Z/Fn7xayanfsI840bZQ+FyKQe4GUVgVr8LUKMyoRu+zWv5ROP9/OObPaVbsRnDvuXX/8R7szTAVmXEn7Sa5LrCVSipBtNIfr4R4uEdfsrLhoBG+2x2yVfkmFk8vK+MAuaJ0E74/uEi8GAFTzGsFKG03k3/A0H0O0utXpMS6lX+krfFaIhP3c5EZW5FiFmnMwE5J6l0xIddRnxNiLQv5SKrEtfTPZFESfx4WJ0V4Q6fnVrU+l0HSKdNPcZ6FKmNBZLUHYdYUVgwL9M= X-Forefront-PRVS: 0987ACA2E2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(199003)(189002)(24454002)(2906002)(6116002)(3846002)(1076002)(4326007)(106356001)(105586002)(42186005)(586003)(101416001)(23726003)(92566002)(54356999)(86362001)(76176999)(9686002)(50986999)(2950100001)(77096005)(33656002)(33716001)(80792005)(47776003)(68736007)(7846002)(46406003)(110136002)(81156014)(81166006)(7736002)(305945005)(50466002)(8676002)(97736004)(189998001)(66066001)(97756001);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1628;H:esperanza;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0801MB1628;23:CVT8ZMmjsShSJN1E8SxA+FjPUh2n1oQa20H8syL?= =?us-ascii?Q?ZU/4EFPw6Ly8WY1cllNK8sMWnxePwVRNvVx1/pn612PZ9GQJbB+hKlI3J0mJ?= =?us-ascii?Q?bmxyqOXc51yPjxebih9l9tYQ6OHw3gymEpsnLNBZyrmRLQhWaTWXLdBskweW?= =?us-ascii?Q?PypJuc1NRe6DUJJAWj/Cv87Dxq3tee4ollO8qzqocZkKX5KNGxRkO9UnWozm?= =?us-ascii?Q?GWEz6rHh3v6qzPD3OVFMivq70isFpdj6R99UTlSYiARlWgN2BQd4ZIZUkgv/?= =?us-ascii?Q?7k4z88r6ql7tW2tdeGAfqZEs//F3E3P1oaNWLnGNomhd4lMATUao6FYNlhqW?= =?us-ascii?Q?jqC9BQK5SnEJDqkpefPb05wAfbFnlG2qTgfEPy0pPt4jxX1o9TqIrr9VAEag?= =?us-ascii?Q?uFzSsqIlHDohfjyHv/e8lCdDk9rmVToKSGOPhdf2bGVickz8PqsrQXSsng2e?= =?us-ascii?Q?QD6oZU0UVBdm6bOuNBDwhg/N1xNqo+ZhDxjGTNgYkg65CdebpwNs6NLSZRI9?= =?us-ascii?Q?GgP6IYAdsWCmfBtjGzjj4mKlPtBl0MelGXbPBUZz1UzhqRomdwE5v9uNOmar?= =?us-ascii?Q?RnZ2Ny3a+stV0NILCCyiFgMLLjTH7b8r0r4gI5CRV4iTZh39srivU3/GC5SL?= =?us-ascii?Q?NLHdXOnPilsnicj9kGYyd0rt7km4vifly57HFFa87S3PXrJj4usySleV2G4t?= =?us-ascii?Q?f8cTdMbZAkbd2rWofgI6NNirVRT9jkoX72z28BjcHl9vOiwAOF46PaWKaEQ6?= =?us-ascii?Q?QXKVoJm9a2HmLgCSoovEl2hbT9n6462iOfG4R3A6UpCA/yZFtQUqwVJHlouS?= =?us-ascii?Q?X5AU8OF+tAiz1aduDSqgKUeqkdardpIlOOAh+L0TgnBo7r3j/pYG74e/kSv0?= =?us-ascii?Q?KTqyMOa/+tQjG7fUNca320FCIWBlpZPJKsLjYZJNt7vuN0VfEF8r1NHKVkvx?= =?us-ascii?Q?ppFmyg9JE7d9uZNpvnQxptv4whkR3Y99Nfl/yY+IZhJomSdQb0MwlwePKsAM?= =?us-ascii?Q?xOiAAXvotDjwdLRqAh1RJr4VMWjsWEsGQ4k87kem2tQHo68r3x5H8TIkk8jb?= =?us-ascii?Q?w+EVSTfQhdOiYt1nOvvRdvQwLRPAC?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1628;6:GupQXBw7bWHqK0cd1UASRWoCGGfJ3KoW7M1oawBUvx2S0IOly5PO62u1LU4dap1bBci98dfcbiGglPb4fr9XhrcFym9YozKokFuIpEUkkf/Z7kL6VXdmpNMFSSUEaG6U/ulkOwmj5oqLMDQ/ZCgIMKLX9xDdn+j6E+ktHyP7lAfkS3xzxqMghzXedbZOD9CEljHX8A/fn9K/0nxfL3hVjxuKqfHWimNOaWxfU75wJ+jPxI0mqu9iYRqn+WM9ieriol4wA+TVtxuE5s/2TJM3vrzcmp7GOwHOBucI41fZyO63DSAJK7OkqpdkIzX3LDvNvLCuZhM4Xyya93l4nPbcXg==;5:8GwN3WWI71ufWV6BpYKY9rWLubmvQPustBqTHPpJVRSA8dJWD9V2QRukk0gXxecaM4XEKHjeWdMNH3o7383y6zZi92o/9BoCIai6/Ok6fRlYGsFqSCf9mcfL7nrzQydsChkp425WATtyfvMZyoCWig==;24:Fsvp9mtKfm1NAGUqvfK1LEuCkzVFlFhLHFN4m5bUn9/HWOHLivjj0bRKi4JLpAOIRvLSCqs4JZTqy56IUEGQvgIKEMaY77DRIe+iZUo6Ya0=;7:hLOouLJJIeJ1TAcJ2NtGKIMnCxa4vJrQulhQPDRyYnof5E73/cU3pnJHp1L6zR0S/BMY2GTTLSlRkVWyWM9JUizpoA6p9fXbkgNgXNMup5BFJDNdoYCdrLRZwlUan3VGKtv3cAy4RA1H+iXWKq8LQrhfKR3j6bT0nv6yrLVtVYCR6lKcs6ss5sFLTW2Cm8tQcBWPSywc9Bs9TD5Wgs1fY8xOOSac4VoAWF+qBaMT03SD0CbxFBwRlGwwSzmDRS1x5jBz86EVeHsh0ycUhhp6KA== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1628;20:Xfp80ARUcN40EudqTpa2dHcMRkNH8eSCiqBXwKtNd7v2lAVeiMbYyFOAn86hNYlZQliiI+d6/BP6ozwud9DseOmSiGj+2MpliRUnmt/IXOs08NmvthrzCA/lLB/6j/yy9KugZUn7umjNy4bV2tjxRDgIZujKvSNUQCof07CIBSs= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2016 16:16:47.6264 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1628 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 27, 2016 at 05:14:31PM -0700, David Rientjes wrote: > On Mon, 27 Jun 2016, 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 don't know how others feel, but this actually turns out harder to read > for me with all the extra redirection with minimal savings (a few dozen > lines of code). Well, if you guys find the code difficult to read after this patch, let's leave it as is. Sorry for the noise.