From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932331AbdHYK6T (ORCPT ); Fri, 25 Aug 2017 06:58:19 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:41109 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932313AbdHYK6Q (ORCPT ); Fri, 25 Aug 2017 06:58:16 -0400 Date: Fri, 25 Aug 2017 11:57:28 +0100 From: Roman Gushchin To: David Rientjes CC: , Michal Hocko , Vladimir Davydov , Johannes Weiner , Tetsuo Handa , Tejun Heo , , , , Subject: Re: [v6 2/4] mm, oom: cgroup-aware OOM killer Message-ID: <20170825105728.GA10438@castle.DHCP.thefacebook.com> References: <20170823165201.24086-1-guro@fb.com> <20170823165201.24086-3-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.3 (2017-05-23) X-Originating-IP: [2620:10d:c092:200::1:abad] X-ClientProxiedBy: HE1PR0802CA0004.eurprd08.prod.outlook.com (2603:10a6:3:bd::14) To CO1PR15MB1077.namprd15.prod.outlook.com (2a01:111:e400:7b66::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e9c801a2-adbd-4eb5-bd93-08d4eba81cee X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CO1PR15MB1077; X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;3:8FYTtYG6mMXmKorOrF13V8AnAgPD9ilG8ufMYOfgP4o7AKOgs3UQVg0bAtXoILnn0U3UjJcY5nMyxVHrm7goB8CDtk/1zLvcSxBUvZb32d6cGqJGLuZ/XxAlFFXd3BYGkTbTuAwJ68yKV+Ng2ZCwGGS7pN7gCh6qbRXQSfSYT1TCQNRAWe1jb+OlVFEz8Y+uTXnvVQrnddlv8v6w8FRcokHYf0g1j4bCBCqyMuVT1I9g+087xDmU+FGGmdjzK5FD;25:8BzMFul3g5vLdv6u82le8e6JVegTQMzUUzMIT9qWyRfknpBGDiXnycZ4rcqmOP964ezluyusAzXe7LWi3RWPrSh4ckgbrjqtTP/JQmCUPoN74zR0w9OuwFqznhXDS+stEYfzygJx8EduLh6rK0ZSVzs/FioH2nhuoDbXbC59lYYcY2HV0MOhwhqq/K7XHJ8AvO9wBa2Pr19mhdVO+7iEqrFEIqrUmbadota8fvtBR+ud3aRPxr7ULRKlBmq1gaSO1kV4ycVmmbFPmX3JvzbLbPCsfBhuKI2RbY8j6bOL+0y1Fw497sDrBII3jn16ylLePiB9QJI2RJChrTP28vc7qw==;31:4KusTcy0wSiSc2F9ritmmxH5nV3w+y1ykl1GHmtVjACJrdrJE9HCv+PsnMf/BmFOT0qhPPf8qBmzle9M332yyoB1x2tVnpDplhEM0aF+FZuofTyRQNaafa1zsRE48grp2CMTE+9nMusx87/JRX2RO8wtv/4aQ3EGfwvcYHDJxWeWolS65h1zrF7MAUm6PmGkb+P6pK17CtXmohFx/pCitezUsKgjX31OMj3sGlVG0QM= X-MS-TrafficTypeDiagnostic: CO1PR15MB1077: X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;20:lg7249UJ/Kg9qIL8ePJ4DHKPSwiJgNJTIy2+36Y9RjgN0k4m9cqop/Anb35+XxFMRikgf3NzOtI/8hyk3sQ8q55BYDmQuMVmxhnaMUJtwrOs6PCzWSZ2mekcWiwaQUEEjIj7jrqjMJOCrDPzy3sZ9m9hZo3F2ElmnHjf1evYeV28d+BNOGUsQ78wDmqWuRp9JrrqpDtqMM0nj0fWHCi5mz2mjXW+7JZIjvWVsHFcwKgZTSdhJEbBaQnwOZElqnkpJEaqlHrV+3zLrNAKal7ZNO7QfiV9WF7UEsht2tHDmqgT6/HznDcwSOU9/8CZSeAW++aMZQrfP8qyJlv8dCvMCjJ4RNEm7D0Bdj6LwoDF9gqdjtirMXRu3qmQ5XhJ9K9vXFwsqv3xEiJ0NFuhDZaSTnCmnOovobjgb+06RljJuRioQk4SSKicUfAok+pCMXtjPmaL7pChC5RuH3z8lkNGFkAeZZ9+4lduuwUtNLNcVZKjyNlH773q8hvVUBzMmNya;4:VsdYvhtTaYV9BUgS8/CSrq02E8FJTLe9EWLh9eSGNMFIDhmKffnapJWJddu54L0llpZq0yAQi2Lb1hYV2KEs67LDFyXD1e+jo5+AqWoHcShuY6xP/sV8IQoxiOJPL6vhC/eq6mdfWRiTejU4hjpgPofJKIFCBPvCmbm4wXJuyfDfgvyEn6aQAuElwy7tGf8W9yYcZ+vYdpzXfhqpT1GuByknYqHL07W/uK/B3CMKWg5xs/5uJnwimfyzrMz+14lJ7etH0JsdPYUqrUcBd6c/RDq9HLKb1H4dY+4J7NCK/8E= X-Exchange-Antispam-Report-Test: UriScan:(17755550239193); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(6041248)(20161123562025)(20161123558100)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CO1PR15MB1077;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CO1PR15MB1077; X-Forefront-PRVS: 041032FF37 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(7370300001)(6009001)(189002)(199003)(24454002)(6116002)(68736007)(83506001)(7416002)(4326008)(7736002)(305945005)(105586002)(2906002)(50466002)(106356001)(4001350100001)(54906002)(5660300001)(23726003)(9686003)(110136004)(55016002)(478600001)(25786009)(1076002)(86362001)(53936002)(7350300001)(97736004)(76176999)(101416001)(229853002)(6506006)(6666003)(54356999)(50986999)(6916009)(5890100001)(2950100002)(33656002)(6246003)(189998001)(47776003)(81156014)(42186005)(81166006)(8676002)(18370500001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:CO1PR15MB1077;H:castle.DHCP.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO1PR15MB1077;23:pSzTa0PbFAFWGL31D6Xbt1/DJPiJqicy7blAIz6iI?= =?us-ascii?Q?8UjNqmLj6uIGrEajl++FDKF2xfY3TKXttM71+OSLYGWN30STRolsVS62iXb6?= =?us-ascii?Q?uPG9aaGuOHPnJrtXFrI1sHvV72iO7cHdjP8hacH5ZgQjzdZ8JwthP/Msqul6?= =?us-ascii?Q?/TdpoaDQnJZmQ9uSWjVgOapexOTfd9E6MLHW5oJEq5WtSiqObcw1YOQ5u0hR?= =?us-ascii?Q?UhVYimIwLCUJMU4SnJ2NMIfhgKg/69lDf5hPyozEb0a0j7NWt4XY5p5mb47L?= =?us-ascii?Q?iIQlpM8ku2J1hwB1mvfjeewml3/bg44IKBBbqKh0gykiUIivCoah0Tj0sJ4W?= =?us-ascii?Q?xA5ixUZrmT0B4s2pFwpsFvSf7jjJToQaa+mCBFlTc9Va5kd1soae7oLDwnAI?= =?us-ascii?Q?SEisLuMhpQMzjGuPi+5H96wg9kC/ndWO3oJUE5F8EPC42/N2/xMNKAK1imSV?= =?us-ascii?Q?O8+kILei42FBddS9MjZfXNTiPk9kM7ecD+GGYYW2UvvpWL3tpk5DpL6oJduy?= =?us-ascii?Q?wwiJyAAOsZ1Ixuwgx8UB4ttcsTns1XhKG0fFdAhBqEuGIofpkLIz0oWeI02W?= =?us-ascii?Q?zTfj/kamJO/x8olBCj3usaV6mf1IBXv7inZ9/ah/ORRNryguwBOEFC/1S614?= =?us-ascii?Q?jd1UchoSefLvPk+h1qFGASLX0lfxQFoVE6REeBX0Endib7jaDzCoFyaXLHYt?= =?us-ascii?Q?FIfQkrplaQuPdjF14gOlDK9eS7pE84Tzg38YTCQTjJAaO3FuRVQuf+0rw9KY?= =?us-ascii?Q?H9dw4WAKCZysM74ShGeSLHKn/k6ELn3ko8rrCTXSrw6vtH6mQjOq8gbYYnom?= =?us-ascii?Q?ZB7VLEVAC5Z39gswmct0LbAvbL12YcZoIhEBExi7jOWvDndPYJjhuiz1ZWjg?= =?us-ascii?Q?2GzlIfzF9SlGDKvZM+Ty+s2HhMJRiJ4v2uC7sBeZStd+s4ArEQ5R4lfJU8JE?= =?us-ascii?Q?SEezEfk4UfcP5zqjrv1dTudG0Qrq9qKOU4Vgi7xJyL74UcpLR94mjk+dptS1?= =?us-ascii?Q?1vrN7SwenY1W0l89RUi9KGW4Czf0WJt7WbUgMdqY58MtN9oSaT0ijxjK6m4V?= =?us-ascii?Q?rcD+tvRBbH5q+2kgS64RyM451WXxJrmQHfLjQLSScUMMmYuI7x+KlJsd6Gk8?= =?us-ascii?Q?jO9XTtRxqL2599D6FlFtnWkwCLS+LkkqodEbds3yo7FAUQtSVgTEijLxWRuS?= =?us-ascii?Q?9aHtsXgGYKAZjfBo7jkr3ku5GJKi9uYCxKJYT/Cd8nBNNNJflwm7xtcqyd7q?= =?us-ascii?Q?6W6pyNWH8/gMK43U7A=3D?= X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;6:tR/1/XYU9FM5unrOU5kkVw22w8UBh959MM/SHH4tYMbs/gimocMypNGd5NbD3VIvFvt6B59sVlPGJr+sBOnVNAh77EihUQf2mBvoPV6iQpEGs0OPgNl/N3mC9/fALNDrTeXG5LzonQ6YW+dG1ZYrhh3TFOBrBxLxPnNOkJT10Oulj0FXijHcUYZJYeDqkAJyjoE5pyEbz83cCRrHYScc2VJoM0lqLqS5ZzCCdSb9ynTlqhaMDq2numx3zybjwxQnBRLu0Lu6akXM50KvcfTJbfT8983yrOtMiuIfHVo71LodSTYBqhEo60tEcYkCCTloCQI556egicPWdf0ROK2Eww==;5:ZqHDGrUFf0lTDDY9NXhya6FI8YshAGSmqjYPl4LMUD6bYbM8Zts5TrVt8Grspz2yMC3/ud+IJMn9d3pZEJCnfDf7DumDHKReeNjWvlzsQbyXAcTzybNxGQnoIA++1/+2worUCAixtW3uJCGfDHhp9g==;24:SGaqV1KCNneslUebw8ump4ctha9eAkvsmiy85yapPgb6iSSksrtQ9CZkvawiQNCqdgE7oYYEcvka9rF6CgCGux0yC8S58j9xkcqYSA4Wiog=;7:3fplnfM/1BiAGrZe3ne8GHkXQtXdFq+lQCVUmXZ+slQ5kMN1cG+uLYU7okNZARA7A3kuf8J2Qtqm4eIXbgbBtVLvILhkQODrOrUVjfYCueyCOsrbwDWMmDHC5PHczaUD66R0qovPQnMnhr4532i94mCFntTuh6WmBvjGKtjD4qWbIKBrY/x0P8g3StDY8soLKYW0ef92qmvb54SJDbFEqTyC9mti7k0y/742IlJvUJg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;20:Kqikq1VM9emfOWGvOkrjW2vLG7wLC3/DbAR3DnYLeY64PXpVutSfrbEsNggaSXkt68LTUO0rnGgWokqeLyLnwBjrBKY1ZZC9oFo2fxmunJG0uHmCPV6ej/GyDJ+j7Ua4K2f5i3jlSnPOmUnwT4v68bM0XY+wApO81LBYMD2MWFY= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2017 10:57:40.8991 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR15MB1077 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-08-25_03:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi David! On Wed, Aug 23, 2017 at 04:19:11PM -0700, David Rientjes wrote: > On Wed, 23 Aug 2017, Roman Gushchin wrote: > > > Traditionally, the OOM killer is operating on a process level. > > Under oom conditions, it finds a process with the highest oom score > > and kills it. > > > > This behavior doesn't suit well the system with many running > > containers: > > > > 1) There is no fairness between containers. A small container with > > few large processes will be chosen over a large one with huge > > number of small processes. > > > > 2) Containers often do not expect that some random process inside > > will be killed. In many cases much safer behavior is to kill > > all tasks in the container. Traditionally, this was implemented > > in userspace, but doing it in the kernel has some advantages, > > especially in a case of a system-wide OOM. > > > > 3) Per-process oom_score_adj affects global OOM, so it's a breache > > in the isolation. > > > > To address these issues, cgroup-aware OOM killer is introduced. > > > > Under OOM conditions, it tries to find the biggest memory consumer, > > and free memory by killing corresponding task(s). The difference > > the "traditional" OOM killer is that it can treat memory cgroups > > as memory consumers as well as single processes. > > > > By default, it will look for the biggest leaf cgroup, and kill > > the largest task inside. > > > > But a user can change this behavior by enabling the per-cgroup > > oom_kill_all_tasks option. If set, it causes the OOM killer treat > > the whole cgroup as an indivisible memory consumer. In case if it's > > selected as on OOM victim, all belonging tasks will be killed. > > > > I'm very happy with the rest of the patchset, but I feel that I must renew > my objection to memory.oom_kill_all_tasks being able to override the > setting of the admin of setting a process to be oom disabled. From my > perspective, setting memory.oom_kill_all_tasks with an oom disabled > process attached that now becomes killable either (1) overrides the > CAP_SYS_RESOURCE oom disabled setting or (2) is lazy and doesn't modify > /proc/pid/oom_score_adj itself. Changed this in v7 (to be posted soon). Thanks! Roman