From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932560AbdHWQxe (ORCPT ); Wed, 23 Aug 2017 12:53:34 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:48072 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932419AbdHWQxB (ORCPT ); Wed, 23 Aug 2017 12:53:01 -0400 From: Roman Gushchin To: CC: Roman Gushchin , Michal Hocko , Vladimir Davydov , Johannes Weiner , Tetsuo Handa , David Rientjes , Tejun Heo , , , , Subject: [v6 4/4] mm, oom, docs: describe the cgroup-aware OOM killer Date: Wed, 23 Aug 2017 17:52:01 +0100 Message-ID: <20170823165201.24086-5-guro@fb.com> X-Mailer: git-send-email 2.13.5 In-Reply-To: <20170823165201.24086-1-guro@fb.com> References: <20170823165201.24086-1-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:200::1:6660] X-ClientProxiedBy: HE1PR0802CA0018.eurprd08.prod.outlook.com (2603:10a6:3:bd::28) To DM3PR15MB1084.namprd15.prod.outlook.com (2603:10b6:0:12::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 58db898c-a36f-48d6-c48f-08d4ea475f2c 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:DM3PR15MB1084; X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1084;3:7xSFhzHvAZQURJqy4Ah0cUp3wIuQOVsxObyOTm2TTC7kcyOxmPW8v4svJZ629TRWzKM93B1bHz48Uek4n6N48adE9AxEqvQ2WLIPgBLfzHuSWIXExQ84Aj0Lu21h//rNfQeIs+kidt/ejpOsL941U87OAJMzsg/8hdIK9hvCWNdZT9so21Uli5yY7Py55hSTvvWmWJCLNMYpuZ8Vpa1mgEkGLKs64NcqZ7uMelN3jj5XdCGqchBwGgcmKA+ukQF0;25:qNDNPuwDHn9zrWgl8gkjMI8ex1qITFHk1stH02mbTEzYkg6zq9dmMLIpQIJwqQdIcwIpEYE7CiGT99Qv55M2lN01letmBiRuub/Bj5o21n2WY3NveMvL1vU5TSR/3IwR3EFRMdPzKcegY1yPDr/iHh71SEvlms96QaoqhmsXmhrE7p+fgsBDhnqvICodd1Y2jTPUzPICEqMVh8Z0dtzxjfxu4ODdVT98mXdNiDMS3Iiv0nMluRaaKk9siKZVwLPFUgd7iVqVz0rTOzplC0U8CxghhwA4+m/6OyxLM3gQhVP0SY60z5VMAf76g3PW88D0TD4XNWSdko27EBomuKv2cQ==;31:oOQOT18M9WBxTTJCuD++FDKq4FEMmPvW18HgQkmt7Q4jDAQlmNLMlRt1JLdBNWP6TXjWUmcznxfYffLNIhr6xN85E7ZSVDABMyzX2tCJKdX3Rt0itjTeTPnRzvno5iKEikUpHOF6UoMQ915NI1nvuNTmvzyn6d6QzUqBf7mtmhhNS1SXkmOzO1Qf5zEgjxYzvYo1obHMCpcAxqHarzgFj+Q3e4ytqJtbz/JyQpOMmk4= X-MS-TrafficTypeDiagnostic: DM3PR15MB1084: X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1084;20:l7r++NegCLIGkOdLrE4uPrhTYcBEA8uCyjK1jb5rJAQp9scBq9LyngOgTSj/FYWm3ZXDa61v1U32yEnew7gX8G6/xz246d/TGOQr/h0eNX/1M4hIW6gekILYu/GtwmAjAk0g1o6mk8sBYhz9x04/DCBWJdQ5JHoAgm3PT/xSpK74bE47Fn3isjc4twjgx3s304jhvr011juZdU+yUUeVi0Gcq47uvA5OoP3wIXT7AOAMTSfF4NaLglgqc36zMOgx7QhovjCAMYhFGSfCw7JW4KVb2sFjmXG0Fnmc0Ths7OhhnsCE4AIXE0Wst8tDSr9Uq0UESy13JFFT2YpTGyiehlzd4tDO7Hmh6i0gvYbYdpeIXhvb5HGObgJbN9Y1QjyX1uqL9TS80Msmq43xUc2cRlhkDMh/l3vz+yUZd0CD8CiaDgVcAsrYluhtHigSE4bs0CaUaQXfc+0O/kEUykZCGoXNdjoAA1QNe1SW4OfX5GuT1LYNXVygJ8uWLXps+GWl 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)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(920507026)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123558100)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM3PR15MB1084;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM3PR15MB1084; X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1084;4:J/w0OGBvytKU+WUuF/TNYzbJWA90X1zOCDOlQDTO2KX433iFtyrXEiBDTNRLde+ei5ON7jaOjrwaFykossxizF40nhSe0EsqNYWu/yDjy2NW+19hn9/LxLfl4ze35723VywsKRnrWJJDoLULLsYtFUrtIJGKT/vKJehXY2w4Zq6Hd9iJxKiXv1DUjq1FqtTKYMCI50eDw7R6gxC8Z9E3VEwUlwLeVo5cS2X4T3birIiXWpASRhWG4JG4ZvAOyydich8MSdEIvUC2cK5TCi8BBO6SJLdJkj2nhIYpGmkJHz/sA6tT2x1MEabvEM2gYFIApooWyrzQpcLf/YelzqJxOZ1fYMj+KNyfJQ2Hs5nepoI9z/MdXV52+cTvabzmUURySNh9nZQlMwE62GKJHKI8xznFU6rLny+mGaAPP+BCZUSAJUzbboy198K2PVZTwdqz X-Forefront-PRVS: 040866B734 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(979002)(6009001)(199003)(189002)(76176999)(68736007)(305945005)(33646002)(105586002)(8676002)(7736002)(53416004)(4326008)(81166006)(2351001)(69596002)(50226002)(81156014)(2361001)(34040400001)(36756003)(106356001)(101416001)(42186005)(6116002)(7416002)(25786009)(6666003)(6512007)(189998001)(6916009)(50466002)(6506006)(5003940100001)(5660300001)(478600001)(50986999)(48376002)(47776003)(6486002)(97736004)(7350300001)(5890100001)(1076002)(2950100002)(54906002)(110136004)(86362001)(53936002)(2906002)(42262002)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM3PR15MB1084;H:castle.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1084;23:yg4WZvWnBbjozEB+SE3/5PBfuGvyrl89x+3q1BP33?= =?us-ascii?Q?U71Lt0oD5Z6tsu9mRLKGR1bazocXC4qeYei6ab9D+xy+xgDHi2eaKkNUviDH?= =?us-ascii?Q?sjDUUTIFZPuRBpr0fbNZsnMrDgK5T5ASyDjQaOLcvJBvHrddNLt832lPWQMm?= =?us-ascii?Q?JdaR0rKWicgalRTJJbjv7lgCGx9qGisEoAhAmlqv8ZYlkBpIxtgaHYPT45b8?= =?us-ascii?Q?4QF2ZeYLr249liqpjEny5V6JU+uMdBkvk79b7vdCkJrwcl63aNLQxbfWjJPd?= =?us-ascii?Q?nRxiM5naFTfMaPlgqvcYz3prXZ3+oVcUAUf+amar03+ilRC02H0+6AoWQ9qW?= =?us-ascii?Q?PXCgQN4qqISOR57/cf5mzuETy/6Zwzo3MImBd8pSm+8kLabUqZexnVd8MSsC?= =?us-ascii?Q?HAoGgLAdPa5o2yqQ6wUXePWeF0/2gA46MiM3r3rVlo/op0BsfrtOKB4ZnuvQ?= =?us-ascii?Q?CExNNHrFrvIhG1Y7Ajzy6oUwL1kplbSxeTrvpkRKqMTCGFqy5NMjGcSIPlGX?= =?us-ascii?Q?PrVlYECR856XEKqsZpLXmDaD8R5EYpimIKk7HINnbpuqT+JjEO3Hdo5UOSxq?= =?us-ascii?Q?EMKXNmcQ098qfPvubbukDZDRs3zyRCQLTDYIEiklTVxbEOdWAREseA5dWElL?= =?us-ascii?Q?Bv1EujNyEjSv8KzrZqrkNQqRP4kk17Jw0wFwxDpp+2qJgRzkFs8S+MVyIiQ+?= =?us-ascii?Q?cIty+cmt92L6tnFaXq8X5jGgxkoq0p29OmcPHbgrMmWXggKtcjSK2h9bwLn3?= =?us-ascii?Q?MSrd2Q4JyxT6u83cRj7R8viCBrlHFVbCa4xL6M0+5v0rhIEXH1GXK1kQwVcI?= =?us-ascii?Q?8/jPFyfWPPkJrYr9z8U4RyGy+5JYO1QuZE8/X2J6TqZiyPRDouls0NAxS+sE?= =?us-ascii?Q?C9gGLjKGgPWwa2wjX0t8hoPpdMUy8H8cuM4qMgBPGTh8oq2AwIeOf4YVABvC?= =?us-ascii?Q?uHOc+jythrYT1QzfbZb4VMjXyYoTzcCKkrvFTTerbQTNExMw8O2l8L5/atRs?= =?us-ascii?Q?FU5saU8QsM5pBL/1QncGbsP5hvf8il1v5qVPJ7zCxz7djorZwIkRd+waUkTS?= =?us-ascii?Q?dSfM/8JkieHhHg/ovNIhqWKbmOYh7JJHJT/LSqw+ngQYQBfEWeWgJ5qn7TmV?= =?us-ascii?Q?BlFdWaXoHuBS4fz7MKfkTZlv/scjQslN1kYVMTRRveRX6vCLMCr5DlGhscqx?= =?us-ascii?Q?HhHarJb/CcBvHZluyRP6nkBRcDgvZJtIzrvs0gcBQx6GcvwmKmaN7pQweJ7V?= =?us-ascii?Q?90KPhzF+C7/sXJG5SkkrvN7+ydO1DHt7vvl5iWnb36HE30rwNcewnHE/hy76?= =?us-ascii?Q?2dg6UTgpCe5ENZo+yXnG1Ep5q1HXFd0mZxeofHDMviItIREscQVNKGD8cBKi?= =?us-ascii?Q?R6mlA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1084;6:LjQql6IcLkKZNlS2vKk9XfBYU4KBievBsR2cGRX53ZFoFAXqf9xddfcLnacyNfKywZa0ToF4FdS0W6AwEMTyWfNandcWEUsuVMyO65l7AX8Kti91ZqSpNpBXPXUHAI/UWNv8zQxAa3DvxsP8yrKlqaO63yvK+E4u45JEIuxTSKEF2rkxF1k0wMmsa64qHL3fG3fEBAyb0WMiayree++ygagakZGnCNNO/F95YKYVJJJE0CjXNmV8UoF6nQYakNUavykUS15oDXiDShK4Spf/2G9codvZyZZY/2/dwLidnUp6kNImu3sIrCAt9PejWYOqX9TCs09SaW31bblZW7xzhQ==;5:yiQ/wAFBa4ZFnLJIZaWCcMfNXzKtx4AsPVXTFDVCYfFPAUs2CQI2+1g8DdZVGMbTJMhHtJJoeDXA3boZq3XJAK6pGhHxcdXwOjZhJfF0SXTdYa5rwvT5+buHQ5ic30XqqiiEhXhiNOC/1GjMqPrWgg==;24:/ymMmOSHVDYa4DB0iCHL3uaaWXD0sYFql6ztCtul3yDxKd0jDTR5CIPVIE+OaMaF8hlE5IRxRnx86n0H1bo3zoaVpSepy2lWZl5H6RAQYmM=;7:l0iTgrm47+nR1r+90/lknD9WP2PNZWKQRCkk966SJyjzeP7WQlbX/T9phb54PkrvZAwIJ9jRuAMcUEqZ2NRZi4S3eF1E20XO0OFu825uAiWfrn1upy7GJoYPRJ1wHyPGhUY3PkpkDYB6RfaeTZ+dafFdHzrzoR9a0yJbhm2aTaLGV3p2jqwPsO+aez6lekqWEhjKRzTuzgBTaatUcT2EUv88qs8397lP8SZ4A9QQIcw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1084;20:4jbdAsacOFjfCs9sE5dMz1oWH3lWtcPP0Hb2S4cTjKY4BBRQX/Y2rKJsTkDuTpsdNP2vycTJl2Z30O5PrcH6756e5kcEpCVntQoACjuxwG4GcyFEEBM+QeBdeKn+hAlBeHtb3Aqucmwqh3XhS67XjuDao0nrfw/IwQxT5FFu1Lw= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2017 16:52:39.9553 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR15MB1084 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-23_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Update cgroups v2 docs. Signed-off-by: Roman Gushchin Cc: Michal Hocko Cc: Vladimir Davydov Cc: Johannes Weiner Cc: Tetsuo Handa 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 | 62 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/Documentation/cgroup-v2.txt b/Documentation/cgroup-v2.txt index dec5afdaa36d..79ac407bf5a0 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 @@ -1002,6 +1003,34 @@ 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_kill_all + + 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. + + Be default, the OOM killer respects the /proc/pid/oom_score_adj + value -1000, and will never kill the task, unless oom_kill_all + is set. + + memory.oom_priority + + A read-write single value file which exists on non-root + cgroups. The default is "0". + + An integer number within the [-10000, 10000] range, + which defines the order in which the OOM killer selects victim + memory cgroups. + + OOM killer prefers memory cgroups with larger priority if they + are populated with eligible tasks. + + The oom_priority value is compared within sibling cgroups. + + The root cgroup has the oom_priority 0, which cannot be changed. + memory.events A read-only flat-keyed file which exists on non-root cgroups. The following entries are defined. Unless specified @@ -1206,6 +1235,39 @@ 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 the largest memory +consumer. By default, it will look for the biggest task in the +biggest leaf memory cgroup. + +By default, all memory cgroups have oom_priority 0, and OOM killer +will choice the cgroup with the largest memory consuption recursively +on each level. For non-root cgroups it's possible to change +the oom_priority, and it will cause the OOM killer to look +at the priority value first, and compare sizes only of memory +cgroups with equal priority. + +A user can change this behavior by enabling the per-cgroup +oom_kill_all option. If set, OOM killer will kill all processes +attached to the cgroup if selected as an OOM victim. + +Tasks in the root cgroup are treated as independent memory consumers, +and are compared with other memory consumers (leaf memory cgroups). +The root cgroup doesn't support the oom_kill_all feature. + +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. + +If there are no cgroups with the enabled memory controller, +the OOM killer is using the "traditional" process-based approach. + IO -- -- 2.13.5