Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752082AbdIKNSk (ORCPT ); Mon, 11 Sep 2017 09:18:40 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:37737 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751636AbdIKNSf (ORCPT ); Mon, 11 Sep 2017 09:18:35 -0400 From: Roman Gushchin To: CC: Roman Gushchin , Michal Hocko , Vladimir Davydov , Johannes Weiner , Tetsuo Handa , Andrew Morton , David Rientjes , Tejun Heo , , , , Subject: [v8 4/4] mm, oom, docs: describe the cgroup-aware OOM killer Date: Mon, 11 Sep 2017 14:17:42 +0100 Message-ID: <20170911131742.16482-5-guro@fb.com> X-Mailer: git-send-email 2.13.5 In-Reply-To: <20170911131742.16482-1-guro@fb.com> References: <20170911131742.16482-1-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:180::1:db0b] X-ClientProxiedBy: DB6PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:4:8f::13) To SN2PR15MB1088.namprd15.prod.outlook.com (2603:10b6:804:22::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e17a2ee6-6592-4457-b701-08d4f91791df X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:SN2PR15MB1088; X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;3:qiOnTs302VwmUMekGUXkTwHlSD46qXMaQeKJ9vCOKBHKnQ56hbA1zhJbkuSKlIzEgr6E0SytLhwEFG/NkVGY21jxAOyj23xzBV78pXXDfb28o3CN3Hpiug3BYCO5pLpXe4JDUDkS2thfX8WBKK78Z9DUnihtvyt2/qO44bPyAHWhHhjW2YAg9LGHSO0+cxfmk/3h90rWrR9Gmt4t1NEr7/XFGDwX8/Vm6EXFtH3Jn8ZIqry6VoKFUIOrbIVIWX+i;25:USYkXS4A6BpLQngoW5wd79SKHVd/IVr0hZOkTZaZQHHQqHeLq+AgpFH5WWiYx7CUk1/dOsBIzNeXn2t8Nw9zOUeZyP+seYD//5zvsJW+8mMSkKSCZm9XC4z6ME54XTcJalaNp17wybiCe2EANHxCYw4k2wiO8uj3gRAyqTKpfjd5ukRWzJEMwv2+qsgvzJxPymQCBh1/bKHGDdYNwpPrMNGCTlRTP/A+4K1W0CEoXhgpZRu0P+kGTLWejum6DyxZmG7NWN1pWJcLVGJMp0o8iqaP1f4uy4j3xq0So4buKxQzOb1MB/9riWQ9H6QFAuZ4/mceUrbZ9/n95HW8lOKN3A==;31:xxLe3CVpMNVTR63TAXvWHvknPSih0/vvGchq4zyrXrki5PGv9NKlkRGvmkedb1+4DqyXOY7fqxG12WZXmwSOOsp24hBXhaptOIAG3KuFKZRuH9yEKiz7pcpXFz9x/5DfiuWbt3cVfrrLXnzAITRI8i3blYNxYbwx37PjfSU0YHj7zOeizolY/lNYNnQrNj2I6PkhnC9LApfZCbAmnTWzsBjqqV0IjDSDOZnXYWzbCFg= X-MS-TrafficTypeDiagnostic: SN2PR15MB1088: X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;20:LYNNHz7r/OFaYxP8Up2mxg5SfFm27VRsqASWdN//aMIHkrZa/EDdakVR7GQNbkgZlubX5WPkQ5d7rlLoWfrG5tRvghwhzTRT3WwechW98HBED3oFXfeSmj4BekgnTBsuwHrSN9Tn3TWaE6l1OqynDOWAOsQls97eFncoA1H/iNNx7qpqVwFU4fCs9qzlp8Y7ZQPG4U15ceymz50MEpkO2tm9LPmcMVd8s8UHaoHq+98W8Yyla3KlKTnRENPGL3kfwcarwVzHLubcjNriSDkK1tIeR8IBi/rspgTFkvGDEOt7kNWF/JdL37Fys+Mj+C8RYJ29PwsyEXmf2YAHvGbsDnWNFxLhF54dX0U3zNDgGjxp3XgDxWVPxsKaD0v116gM92J0suKW3yLnXgAWsiutc5mQFFDkCdxxRBy/PvQ9CFP6BdOKK04W5xFjQH94fY31MILC2N/IHwf9/1NGNcCZYXAdSTIQJ7oVAlXiBh1xtYhqSsauyGYwqGq38WYzj5hS X-Exchange-Antispam-Report-Test: UriScan:(60795455431006)(9452136761055)(67672495146484)(211936372134217)(153496737603132); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(920507026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN2PR15MB1088;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN2PR15MB1088; X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;4:nbFZVLAUXQ+bYQ+VLTUK+VWnKnKQHjnFxlEOVOJi7QWDB6E3k3yyh1VlyhBKFgoWMEpktpNWrD3q3uZPUA7/GfADNolT2zIah9LqLsKCHuaWKey48JExybClVvHNFHVKZTrOn2eLqH3J6CDN/JSHm+JoFjvYaYN6XmOshGcIpxOU3Axr5aWS5DJ5cQlBU6JjP7VobUbDwRhlR0oaAnHwMFFigfoUbuwKJkQunvE9Yk0y0yqALswUevMJ0q94zV4GAwHGjoa6zxhqIvOAg/3/7aWaczSGv48SsHV7Tzjcv1jx/Qh1mkOc9KLx12sOhVNrsnPmSjsxw3EeDfZQaYpaZewBj9yBeFXD92rc0bbt7HPBH8OlCnXGUizDpUpgyFPSLuENQKfDdHp9AvW1L5Kpua1Ak5MgIFOUCKUZkU6Hpd85xZdUA5X5iGy72v9z6DFN X-Forefront-PRVS: 04270EF89C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(199003)(189002)(101416001)(105586002)(48376002)(110136004)(36756003)(4326008)(50466002)(305945005)(34040400001)(7736002)(76176999)(189998001)(50986999)(8936002)(6506006)(39060400002)(47776003)(86362001)(575784001)(6486002)(53416004)(81156014)(8676002)(6512007)(81166006)(42186005)(54906002)(50226002)(6116002)(53936002)(5660300001)(7416002)(5890100001)(25786009)(69596002)(2906002)(97736004)(6666003)(106356001)(68736007)(6916009)(2361001)(5003940100001)(2950100002)(2351001)(1076002)(33646002)(478600001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR15MB1088;H:castle.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR15MB1088;23:+K/LLSqhZFfBMkK3FhZzSwmh9e7tBZUBpp/dPv7Hh?= =?us-ascii?Q?533jEkGLx9G21+cGWF1f2Ocj8gF+qWM3YTMu0MFYfz+y12T+d8KN2djnH8Qa?= =?us-ascii?Q?LaNcqTZdi79y+GlOIjLrsOCgOhYXRmzTIiDOuG7gGPCglv3kMpw1er3/5D45?= =?us-ascii?Q?QR6s9rFvBFKGIeMmp1/kPlCfPTkM9KUHVkwJfAScOcjHCuVDEE/56UKplxdw?= =?us-ascii?Q?ZJ/YkxZ1x+kR78LQX3yJ6luZmru/AArPrbEtFDskbZgmrVVRs7GHNKFXaeR9?= =?us-ascii?Q?usO360kpHkkP7AbwLuKd001/b8j4jibt6y8E9MO6spZeBMe71rXp4VseIaVI?= =?us-ascii?Q?Fv3KH/9c5dznxUVrxqE9vKJBKN5JsTgN/z94tFBnBpxmVv+4qUGD8/v6riOX?= =?us-ascii?Q?jSEayxMyc4LR+1n1VVHTZ8I3/IT9kyY1yd1zhNBKA3cG/pyPa6HUBN+IhPN3?= =?us-ascii?Q?ddspeD6jauHJm1UmpIMeGRjdzXOHOP+Ol1n9OZ3x1Xh7K5OyuKc8VtLWNutM?= =?us-ascii?Q?LED3JO+fqiF1tFwmolZ5RpdVykEovNm38ZXH86Li7D8F0YuIktgdlIEGJcHo?= =?us-ascii?Q?eNfzwIJZV20Y7uSs0cDGu6HYeSqYEg11lgm5xx/OV2lzjtLzbilYN0TgMy29?= =?us-ascii?Q?GmTCG+NUgL7YRMol/WAo6D76SDuckI2Q1rUlQvoea3+7NrgLUAfL3NiAzSPw?= =?us-ascii?Q?jGrKBOmlwKgANApPlreLum3qklBmQq/azn4R6dt8q9YV0pMZRuaLUGggS8lW?= =?us-ascii?Q?JlXN6l20Y4sqoKnaqBIz2MhTGL12/4Ol2bvzv0+rOOkBLZ5orT6iHBHHU8nc?= =?us-ascii?Q?+S3S2xvqhOMlNQwJFD1hoPRhbOjrgi+4gdJuht/OqGB+d4p214dVFNP4HSed?= =?us-ascii?Q?o9A8ZT83ofkDoBJns2D55A8z2283BqrJW6ZIMzoFacRSKeevCNsrX39vHWDc?= =?us-ascii?Q?eApmPST8Ha1lEoEMWoo96a1l0ls5B3q1pfOWlvmJWjlTgj7gHmDlP3jqccEw?= =?us-ascii?Q?t6DSmew5kZkKqM8f3olV+NZ++n3e4sod3Ntnnf81EZaBFABpeXpBCuQgnR/X?= =?us-ascii?Q?UCYmYMpqIGugWEs5T1L4b9/ZQVCxjBcX28Sabi3gfZkT+fzpLdOHNVJiz1mN?= =?us-ascii?Q?Rw+OwkrUzj44i472Iu7iAMWDJxW92NGM6SowdJEIwz0lQdVX5CEd3x7DdZpX?= =?us-ascii?Q?x9VyRw4E8WpdzGUxXBHYk7wTx1h065zsPK8DNW0LJEjtMGkXexa6gmEATXiq?= =?us-ascii?Q?+fCQhTbB2K8siArz+g=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;6:IfOUafGV0cKz1qlWqjXn5Tv+0Sfsr1OQnJs7m1yuAIfvP3l7RtYJOzSjOQQ+/u70Wmo2FaVjFMmyNW6DV5uH5/+nsm3xi6hq8DA4mqEye7f8/oGH6ca30eL34XMpfrXAWirGJsc0xLNN38ltiuXh0y4kPjQoxSvgRbVd3vGMlD8zQZ3cTdEFimFUKxTYeoYnbYBN61XXJaoebag4k/JVvBhOzCZU+5W+tJWYMryUOM4mg6SD3YyWc5QrutvgX/JZs3ZxkhfYw2n6vLrhf/ZU0UW7agvPM/u5AmaGQC2fR12Rtfxvh10b+4ucagByhaQRspU5is7lejiSkbw8botLGQ==;5:pJ6t1LFDHTkocg6pZsPT/BHXd1FZIrc5AbRj0ldYQWE8IyWPxGhpdYC/JIHXQzXU/7JELvPFgedP2jvgV15l1Fy2KzOS1akVsrvyz1xMjBvNyvnKESRc2S97Ywf/SNxmmjAzvAvmimejV48aTsc0eQ==;24:69JPWV5kvAcLuLBSyvjuC4Zav0sZsimNnEd/4YItv5RWejNXytO9G991O+FWxfF6xn9v/rg/pYQpgzpdcFfxZkPbz+R1Ez6qX5c0cCeLWmU=;7:8G4C2NEjcVVhKq/o8aGZeso/eZJAruHIn+CdQSJMEL9vkLKTdhtsenbHjFDkGjsN7ar6dlu/MYEXs1zZJHbh9hWCOYAhltjAtqhnOv5Ve2/jdQuSO3MawP8UExOLfJIw4tRck9N5TgI8zvQdPFpkFubgDQ+QaLicWRM/fXERtOrL04IkRx3HUOZ2kftCJEUIFE47St8L+0yicYwoPqdqULk6mLFM2+rn+Cx0Rt8aNBI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;20:fDQ0Yms6PdWYwocGjtD9bN6aNdA+Ax7Nf9wZ99Kk4u1icj2jZdfvWOSrdmhoyUEGD/ELj1OqO/cL2FPEfFL6jdD5CUt+0yf7Xa4n8iaqDfqot0VnJJZKS2QE3iT0V3JRWZI23rD/sYdhsXKb7rfEF7Me0zfLq6lXxlFU5ZmL8xA= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2017 13:18:17.0503 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR15MB1088 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-09-11_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3008 Lines: 85 Document the cgroup-aware OOM killer. Signed-off-by: Roman Gushchin Cc: Michal Hocko Cc: Vladimir Davydov Cc: Johannes Weiner Cc: Tetsuo Handa Cc: Andrew Morton Cc: David Rientjes Cc: Tejun Heo Cc: kernel-team@fb.com Cc: cgroups@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org --- Documentation/cgroup-v2.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/Documentation/cgroup-v2.txt b/Documentation/cgroup-v2.txt index dc44785dc0fa..61a2e959e07a 100644 --- a/Documentation/cgroup-v2.txt +++ b/Documentation/cgroup-v2.txt @@ -48,6 +48,7 @@ v1 is available under Documentation/cgroup-v1/. 5-2-1. Memory Interface Files 5-2-2. Usage Guidelines 5-2-3. Memory Ownership + 5-2-4. OOM Killer 5-3. IO 5-3-1. IO Interface Files 5-3-2. Writeback @@ -1034,6 +1035,18 @@ PAGE_SIZE multiple when read back. high limit is used and monitored properly, this limit's utility is limited to providing the final safety net. + memory.oom_group + + A read-write single value file which exists on non-root + cgroups. The default is "0". + + If set, OOM killer will kill all processes attached to the cgroup + if selected as an OOM victim. + + OOM killer respects the /proc/pid/oom_score_adj value -1000, + and will never kill the unkillable task, even if memory.oom_group + is set. + memory.events A read-only flat-keyed file which exists on non-root cgroups. The following entries are defined. Unless specified @@ -1237,6 +1250,32 @@ to be accessed repeatedly by other cgroups, it may make sense to use POSIX_FADV_DONTNEED to relinquish the ownership of memory areas belonging to the affected files to ensure correct memory ownership. +OOM Killer +~~~~~~~~~~ + +Cgroup v2 memory controller implements a cgroup-aware OOM killer. +It means that it treats cgroups as first class OOM entities. + +Under OOM conditions the memory controller tries to make the best +choice of a victim, hierarchically looking for a cgroup with the +largest memory footprint. + +By default, OOM killer will kill the biggest task in the selected +memory cgroup. A user can change this behavior by enabling +the per-cgroup oom_group option. If set, it causes the OOM killer +to kill all processes attached to the cgroup, except processes +with oom_score_adj set to -1000. + +This affects both system- and cgroup-wide OOMs. For a cgroup-wide OOM +the memory controller considers only cgroups belonging to the sub-tree +of the OOM'ing cgroup. + +The root cgroup is treated as a leaf memory cgroup, so it's compared +with top-level memory cgroups. + +If there are no cgroups with the enabled memory controller, +the OOM killer is using the "traditional" process-based approach. + IO -- -- 2.13.5