From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758068AbdJMNcy (ORCPT ); Fri, 13 Oct 2017 09:32:54 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:42042 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753231AbdJMNcv (ORCPT ); Fri, 13 Oct 2017 09:32:51 -0400 Date: Fri, 13 Oct 2017 14:32:19 +0100 From: Roman Gushchin To: David Rientjes CC: , Michal Hocko , Vladimir Davydov , Johannes Weiner , Tetsuo Handa , Andrew Morton , Tejun Heo , , , , Subject: Re: [v11 3/6] mm, oom: cgroup-aware OOM killer Message-ID: <20171013133219.GA5363@castle.DHCP.thefacebook.com> References: <20171005130454.5590-1-guro@fb.com> <20171005130454.5590-4-guro@fb.com> <20171010122306.GA11653@castle.DHCP.thefacebook.com> <20171010220417.GA8667@castle> <20171011214927.GA28741@castle> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) X-Originating-IP: [2620:10d:c092:200::1:207e] X-ClientProxiedBy: HE1PR0502CA0013.eurprd05.prod.outlook.com (2603:10a6:3:e3::23) To BL2PR15MB1076.namprd15.prod.outlook.com (2603:10b6:201:17::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f1cf7802-3e4a-4eba-9484-08d5123edb99 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:BL2PR15MB1076; X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1076;3:6HfmMVUE/NTIbetmjgP4zzMDH4F1yMc4S8zlwUc/PHijY2znQeE92LIZSk95CHI0tyZrVH6pxo5UlNACQvBG0wUSxhrBzF7hro9B3jD3joQ0m33B6d7AGqeev8lustzDDyvmlbl2CTfFn4JxDuqh0wObuok4SDSKXBCig2CEYOpZqdW3S3Ty02ImphqF/6Ul2OOGENxfJXlubuNEAnJwUkGXNY87i41SZMoGFCgkvDoRF6ebMPRexaTnqKUMOj2n;25:7jjnsX23fEDOyNWU0gSP6BdQyK0nttKg3E5MVsgD0jP4iYJZKthbsU+n0Zgg61DHLI8X93c+MXjJ/dJzbXVSTL40JsfY92a9kw+cafMyOFINIhaQTMnbEzY3Nd5XrVMk2gUcimXXrbe9BLyCdQ0FMrogxYnPaA8TKmaGPMbpUNSy+1C4cIcu74i7bTCH6rlUVPAkIFk+Ocs6aOpQCsIJYHt5Xp93aDisrjRick2yAi6iaGIJFfe36ExqVmMpwcG1aFXifMz+I7Fqug+LiffpqBXAHvtRM3AfBhoWhoMVktVZVa0y5Rchpb5d+H9aW0A5xkY/zn0jTBDjecWa4+BPSw==;31:HjQ8F55CcjQKaXQ3Fa+0zrD6CtIfuKBWRpYnNh/U7/V/ilRCD1YrC7Fi5P0GT8ss7uaSJZkgBiDVNzhtzQ3antOipyOJKiAoCpN/02Eaf5rBRn5PNHQQNL0dlYO6n3zwrjRsumM5eSpQsh9czE80/xlKz4FdZ8alZXPvRWyYNBobUp4lAfUXX7/4My1WUYouV1hxNJ3qds6M2uTtDSadmia2H20U4XhEz6R79Wy0GFU= X-MS-TrafficTypeDiagnostic: BL2PR15MB1076: X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1076;20:rTyabx/knpfp3Du1weBC4ndhK2UIa4ePsEVDO8mXnOqKNsDhgY+NJzB35js3eh77mscvdFu2pOTqsa6g8snsFfE/xHZ6yk7h8Uqzo/VU/CgWe9gmns7SB6lw9/G/pA66aaT2sM1TBEqbawhrR7CWsxoDxbraaKsOP+IRFmBg72bcn02aQA+IvyGz3L4iMZTVQPZd0YvXudk8Y0Mit6SGx2WfkgwAmKhqpz0yv7VvK0pnnGMcYf7YM6XhyFIwaQasRsFQPFiIb4XppnJ0yd+p4tFQy4niDFtNxk+XAYFMUH6rXtu92I7Il1PuDv85VIHYOWWE9Zz6twVvIVOrMGmhev0o1r5xEJTRSQ+unKxVMAfi5kSxhTtaXfZ7sit5Su0hO77D8GDHsmAv8yJKer53NJrkZqcsyfMWoDgv4pZoKcCCjXSpArrDu6xeZgjbc+NEFdaCPEfNpwPE09E2nUGOxGDrVXFw2rOU50iWI9caP9ilOChjQTTXn/Q9+bDPomF/;4:Te9hpX8CNIKORzDPa9byjDRN/oxRNNAL+fv1TE8UBgHVIwcna5rBoxo3h4QPYna4T+j2KQ6PnrRHlz+Zo5b9YDn5nuKBnMxnkjvWuO8ap+ObYhSFVVhvqDpki1DExvNkNuJXXCE613K3lUMC5cjazE2vM82p2JvuVPMEdQ+uh/qy1MJl+bp8sU+wgRaijgDHZlAxmFsCMVn71KlvTB6XIe9aclWETG/9Sqao9dv561AOo2DVcaevKJ+VsPTSAmIK X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(11241501159)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123562025)(20161123560025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BL2PR15MB1076;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BL2PR15MB1076; X-Forefront-PRVS: 04599F3534 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(346002)(376002)(189002)(24454002)(199003)(47776003)(53936002)(16586007)(6666003)(4326008)(6246003)(2906002)(86362001)(58126008)(229853002)(68736007)(50466002)(55016002)(6506006)(9686003)(7416002)(97736004)(39060400002)(2950100002)(316002)(189998001)(5660300001)(6916009)(1076002)(33656002)(81166006)(8676002)(81156014)(101416001)(478600001)(8936002)(23726003)(6116002)(106356001)(7736002)(305945005)(25786009)(93886005)(83506001)(105586002)(54356999)(76176999)(50986999)(54906003)(18370500001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:BL2PR15MB1076;H:castle.DHCP.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR15MB1076;23:E9N+vbQu2vwwYTQbR9lIdfHE/iY2V4U4xa0+Ru8Q+?= =?us-ascii?Q?y3fsvzgrklX1ip5fkibkkIN4GgV77U5m2sRzOG0wKty22CPMDWelTQlK1mkd?= =?us-ascii?Q?0xlBNxKdnGUZeHSoFVHbxo1ofZYe4ZoEFYjVfLtC3rdWiPp5uoyGB+lTvok9?= =?us-ascii?Q?42HeYiGS3O2xspA4cED3iKRoOzQ08dpga/T81URSQE+rdgsOWxRK4E3VidS7?= =?us-ascii?Q?KrfesiKNbz5lGRG10uSJ6P20DlwOlKK3FN97Zz5jYiFnLSzP6LNco3Ld8ao6?= =?us-ascii?Q?h5Afsjp4zwzlZ+nCBTVlIwOl+1f0inyUr+2Kxq4yYLCAIbg4tuLaMt2mGSQg?= =?us-ascii?Q?b2EFSuCxY3GLohERYT/ESjf1cnzFK/7Y1sf4HDe3adzRe22lkO2azu74RcCv?= =?us-ascii?Q?W/ZVlo8p26UcHo2WM7y17Ivah0MQiufmA+nd4qQ6rHYCEAVPiQdscs+TGnfg?= =?us-ascii?Q?3DjVatiROhdfkg141bvtrEa3g9Su0V28/KMF7EXKARJITePhUmknqg/fDUVT?= =?us-ascii?Q?Ll8knqhRSx9mJK975+BRIwMHyde0Xo4yn8uMHri50lj/Gujk/4wtdjt9x5n8?= =?us-ascii?Q?4p+3Sicva4ZW+56wJDePLemH9CxIzUJ4WvSScSneJKLZ0ISga20wK412facV?= =?us-ascii?Q?DwzcYzDssUKsarzQ7qDq9v3FMuQPO4Vlz/mNBlbOBzO7SD6vpsF7tYfWw3x/?= =?us-ascii?Q?5ZfKQ6F3eQUs/3r0GVZKyTQI2TDY7wAwuDEtatLMpOnnxZs+MRJ9QBrG+C3M?= =?us-ascii?Q?88VGE4KU9sKgg4KAQhKoLW6dOhDTqYZIYtwdjq96itb2kcD5WEGNHAOVDgs6?= =?us-ascii?Q?vM+V+jUnpU14RF6uLyFusgLyepo3bdGOgzRGbQPcyPXq8zzN3+PhnPWJrn1K?= =?us-ascii?Q?/hiiB1EshZAn49zQZ8OwO4EXkmzIh+u39TL2dhY1AZgHdImojQBpirHdjmSQ?= =?us-ascii?Q?xdE/fBun2AVZKJVJpZNkdbVcV4w3TL+27NJAwHtZn/lGIBjik4VYhxXPj8Gg?= =?us-ascii?Q?ABQHgzrZbIiafif7koXBkLd/PwsjuiaEVPAklvQIXscdW/q/Mab848JZgeEX?= =?us-ascii?Q?6rG2VQ/j5zb2C9XhltmNJpBr21V0ZH/XC9L6hZMkFk5j91IP8J/6hfcQQ6Nw?= =?us-ascii?Q?IuOK8q6IVtChgM7c8grnd9u5c2yp7hZt67Bau2LdhaVJa5gd5cInrMscRvpJ?= =?us-ascii?Q?M0Cm1YHqdqUjYtgIadhWd9aKc1hDvATisSk?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1076;6:Dv0bAYDmTwK/DyswEf+UOvYd+uJpyfOhG7TUirTJHwm2sg755u0SWKpThznWIYGFJDatez2KCpf4GxfcsuZQChuvhn84L9fKz8oCREJcPlRCU5WCe3DXffln0eSfBo6AIm0xCQ6ibbPn2ECr0Cw56wE4WD9NLzs55ujkxavUPnszn5LJ21VLQcn8HpkPb7ewJ+fiIKncgHZ0ty+erjKg9RYN+EZC7fspmURvoh3uf6NikamS1tBWjOHervGXe00ala0VjrzQn3m1SYwREIWHVgvHHQmKCaboYhOP3ohT8ogtBjUeZZ/tbpDxzS/+lwy2HEgpEF39ImaVkWUSJHWR4A==;5:g0lSQJjpXpa6SCgBZJW9YWNJ3nxJ//Tx9hbMwhxb7vWetnbcDEZolyPVzATJ1edaD1CtQRYvLlzZlzUtm10xHgRKjbzLDz/ucGcmFm0Zefi7zKzsyEslk262O1DQ8dnMVDIAyT9QTrGHwpLJsWSdXg==;24:2rWojmCe/JW78tL5igTUY8UMhKXdvFVPi3Fb170v7066TYEGudIK6j0LWOT7SDNIATjU8d5pt2gXTAVq6NYozc53ez9YoUIHD2OCaLr6zhk=;7:ChfdKpYN0VxCTgdDsFIcyo8F2GdCLNI5XVR8lHLCFdNYOS/C3hjbWMb8EoBSicpXzzv7jDVQyeT7w1fS2AxkK/u91qdJ2KIGaRQfVQ7OpK74WzCq+MM3ZWasyrqTa8mn8jEdb6rVoa5SAtNmEaH3heYnkHdJLgGiahmD9gi2CjZfyVF35g2t3W8C0LayiwENIh58KiEQnLN/vxZTgkmES6uaxsQEj+lJe2pq9q1vnYM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BL2PR15MB1076;20:HblVpB3B53chFsVq8uTZuJcLNiK6HEcE2oPqg3hSpIBV5T+38Rd/HJa9dadTtzi0JYfVNYxOQ3geKDmQHeBpEooWLSgAl+3rLjOiUm8ruYdjlN2Fo/9xfI858FgZCipS5krWxDtGsBQ71TfekVHMjqsuSt6YHGf/Km0SGYXtIq8= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2017 13:32:30.2152 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR15MB1076 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-10-13_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 12, 2017 at 02:50:38PM -0700, David Rientjes wrote: > On Wed, 11 Oct 2017, Roman Gushchin wrote: > > Think about it in a different way: we currently compare per-process usage > and userspace has /proc/pid/oom_score_adj to adjust that usage depending > on priorities of that process and still oom kill if there's a memory leak. > Your heuristic compares per-cgroup usage, it's the cgroup-aware oom killer > after all. We don't need a strict memory.oom_priority that outranks all > other sibling cgroups regardless of usage. We need a memory.oom_score_adj > to adjust the per-cgroup usage. The decisionmaking in your earlier > example would be under the control of C/memory.oom_score_adj and > D/memory.oom_score_adj. Problem solved. > > It also solves the problem of userspace being able to influence oom victim > selection so now they can protect important cgroups just like we can > protect important processes today. > > And since this would be hierarchical usage, you can trivially infer root > mem cgroup usage by subtraction of top-level mem cgroup usage. > > This is a powerful solution to the problem and gives userspace the control > they need so that it can work in all usecases, not a subset of usecases. You're right that per-cgroup oom_score_adj may resolve the issue with too strict semantics of oom_priorities. But I believe nobody likes the existing per-process oom_score_adj interface, and there are reasons behind. Especially in case of memcg-OOM, getting the idea how exactly oom_score_adj will work is not trivial. For example, earlier in this thread I've shown an example, when a decision which of two processes should be killed depends on whether it's global or memcg-wide oom, despite both belong to a single cgroup! Of course, it's technically trivial to implement some analog of oom_score_adj for cgroups (and early versions of this patchset did that). But the right question is: is this an interface we want to support for the next many years? I'm not sure.