From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751508AbdFAShd (ORCPT ); Thu, 1 Jun 2017 14:37:33 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:45622 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751309AbdFASg3 (ORCPT ); Thu, 1 Jun 2017 14:36:29 -0400 Authentication-Results: kvack.org; dkim=none (message not signed) header.d=none;kvack.org; dmarc=none action=none header.from=fb.com; From: Roman Gushchin To: CC: Roman Gushchin , Tejun Heo , Johannes Weiner , Li Zefan , Michal Hocko , Vladimir Davydov , Tetsuo Handa , , , , Subject: [RFC PATCH v2 7/7] mm,oom,docs: describe the cgroup-aware OOM killer Date: Thu, 1 Jun 2017 19:35:15 +0100 Message-ID: <1496342115-3974-8-git-send-email-guro@fb.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1496342115-3974-1-git-send-email-guro@fb.com> References: <1496342115-3974-1-git-send-email-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:200::1:ebb3] X-ClientProxiedBy: DB6PR07CA0129.eurprd07.prod.outlook.com (10.170.219.22) To DM3PR15MB1081.namprd15.prod.outlook.com (10.166.160.135) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM3PR15MB1081: X-MS-Office365-Filtering-Correlation-Id: 839c8307-2753-4c94-713c-08d4a91d0cb0 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:DM3PR15MB1081; X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;3:o6x762hR4JAe23RZEl8TatbqcfyU4pa35w5bd+lpp8csNz0aaSX3KHa9eAroXlimjPEe+6Eiaad780L8j9qkH/hOjHIYOKzQh0PNzyFwpgPnURkvjoDSqGBPzY5KmzV4DvwB/dflfjIFd0kL83NxaSvdMzEH0CS00DdO/x3JyhP75Lzt5HLQ4v1j8UtdabeWj7IBhDo38XIWpNfsh6VaLitQUpp3F85jQQFTZuW6Io8e6rZ7fGriaOr3V32ybWyuoN19lK4bmy4i5SaHgsWzdp43feBrFUrUqlJQhs3kWDEMSRfU0ZWt05myHCrtBDaA9mY9uOy9p8ZzP3xj2XS+Aw==;25:1gI29AdgDiBDMzplcJev1AMDnBIg1DxIuUCbvUPusk/gYYZ32FXTONG3/LUSx+tI8YEd8vP0c49p1Sk9f6aeVLACP0pS88KykqGXdS49HS8VXxnIGKabibHZUGlasaLHl+qjixUp2UrJJgykCmrqGAgWWJBDH3/Bt6CuX7TK2VNWWq/R1CzQKTyh4mMLpkR2Osn7WcL2IRARHo0gqTg9O0lXxsGAq6JB0wtu8hCmPmhM2JvugfJQrv9Ougty13Sg7H3lSnq+iUqlKexwfXNo19t9rKx3sRsxTI8We81/2RTjx0Thxr1aJeuxSKA/Je/oDdX7p+pyPa1+gAAm+HIxWtGiKw3uExVxGmYPgGJOWxMy2469eLQm6smpr/g3loN9MUq+eMXQwLB9thsVJnG7cANLHAQxxt2x/WysLdeegcWNIGSSk8EbiTeM9TA+vtrlO5MXc5qoELZx+YWhbkH5aFlqO7IqmcXcBhHmPLnjDCs= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;31:oW1bqUrFt3brrTwVlewdQveTvla1a8Gd+bN4cjshaCTFMxoV9RZdgFzcw6pdrbK8mCm2aRH0kpWHyyJKQ0qG6CuvU++qE+Sld1s9JjZM5sZv7AzRI2KeoFNdEzH1uS9fxTp5++I8ag6RvJFUouB5y0AdUevF3aGxBiImnL11t3Epq3Fuht40gFe+NtyvESe12l6YydoRqSOYCpY6N6+PKuCQmDu16c98fJKg3sl71rI=;20:LCAARO7MWkFQwgKMkYbt6dXY3wZ9S/IypYo1y5MaaG4zsv0DccGj9qzQwxV/UuNiIq3fyM84FY04yZsDqbZk/cAMG5dYN7MRw14XdoNgFTJGfg1BIw5Izs1WT3Ajlsi2tIRL3ksNP4cADvzbqks5eNRwe8HyLK6C2T0AiFcrR2Pxut+nsL2/s51lt5dNUouc2g3fpRHzcFpq6RDXPDbllbkT33iUZ/r/ZVW0OBL6bTOZt66trViBXTgBrI1HkomygS2H6bp7nhCYLfk6zAZmQeNLFXaMRNR+wXrSUZDSGao4+v+YajMF+U3qwWhJzo1SCQ9w//ccQF/vc0igaxtC+ShA48Ozjg1qwclf0YFcRuwz+AKNwQcHe6kmRl+pKpjyrTwfczw2ivOIW4ta7o5OS6re8A6/SyxjwG7RAMXiGnTJzdUCiCdYa1gDsvxJFpbDKYlAbXbL/NvrnNJPUlLMbRS4N/uKT+nEg0zETAX3Wj5Bu7z7X6CnvVLGY6kbNp14 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(60795455431006)(9452136761055)(50582790962513)(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM3PR15MB1081;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM3PR15MB1081; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1081;4:R5JeyZLxS6zt63aXa0BmaC0EHxOUBi0Pasf6Z18MLV?= =?us-ascii?Q?BxocyiPmjO5EbjRAy1FA4RuvxPD/76VOrPcAm82d2Q4Fwg/maHHBtIVapQP/?= =?us-ascii?Q?wbRSBUUyxs0Jg4/uRoPQwLKA97jed2P5tPKD3Ib24g8+SFF+/Z5M4kMlec9E?= =?us-ascii?Q?qA+8uATh8FTz6L9AM+ieWWd/1HbX0N2AI1je0aCGwQ+13mgFi4zYzadASZYc?= =?us-ascii?Q?Iv1im33y26XLIsxxUFjcJbLmQeLvYxJ8La4U4w7/MASEVXkWP+yo9gXI+cAr?= =?us-ascii?Q?0/5/CUBLjFdiA4dLELxnU////sHWvHLtgu4B1oVyDNG/ivqzqj0IUgujaU5I?= =?us-ascii?Q?q5HlBmIi8mxllzKwp0idI24J4FQYuAVd4+lmWaU4qKWEAjyuKGcts+zLcJIB?= =?us-ascii?Q?zd99KoB76JFj+CV5IEe8dDjAlmH7uuAY+fxEaMLYYNZI2+4L8fUkuXjLOm/x?= =?us-ascii?Q?6kZ+Y/s/vZuu4Wn1tGyrhDlcl0o26UVy2q4uR45vv4GOj8dnEq0tic59wsc/?= =?us-ascii?Q?K6HkjYeyLHFurxK8I8BknuqyRd82ao7P4WijXrZEkxRmWLwwAN/3RU6D3GTl?= =?us-ascii?Q?bbwLV1Ec3svO+cgEPvhEppFM2uVjwLweD54A0dw0ajGxfKELW96D4cgMoNue?= =?us-ascii?Q?NDlL8kL3nAtGdJ9Xk714BpzwjxmMEYwdScBalfInPp2mezOmIuMsbGahar6Q?= =?us-ascii?Q?KDR4zH8Qk9d1HCndLJsFWm2Rd+AApSQjbZAuru2jM/Rw3TfYQd04u0a0oAuJ?= =?us-ascii?Q?OATohp3Sm8V+29Jy8vT+agaXsH1LsUAh2lcSNsT+amXTqasUaj8ZWQWMyF9x?= =?us-ascii?Q?Yt5iwW2q+Z3NOe9RTNOY4GKcv3mcJ6XcJH1rlj0/Z50Id9KfXuTj2QdVjniK?= =?us-ascii?Q?n9m3P3Goca5PMLvpQksK6R1E7HY4n6+W4S7DdCgg/PrIxnkkltWrM66eAgM/?= =?us-ascii?Q?fj+6CpL2xPK8aJEyV3zBvGAEsiXOFXhxNL4j6VLxMKvjJqnoJuoDv18VE2xR?= =?us-ascii?Q?VDo5D+RNbJnsqbuFKSNjdHQyqj5qpImq6xsAQNNHU3y5aBw3i6UUuqzOBPJo?= =?us-ascii?Q?CtGtFCjNi/PK3lTrNnuJ76PrRWNh2mRVQsgo9/UN+nfTYJM8WutyORXKDQ7m?= =?us-ascii?Q?Gj2qp5zxN7Ps1bY6Nsh74l+cv+YhB/YuKkrdHZP2zytX3lfuFU2itEbXlBbt?= =?us-ascii?Q?yjBW4PxP8HpRGkaPzUuwnCRTwKkl3W511tX0T3xZqLLYBUAdWLlnwxwPghTx?= =?us-ascii?Q?mYcP2xA4zFKi2YP5EkwIQ8eC+Uv+6SWO8lhSZnae9nRql5X+rSz6cZg3luyg?= =?us-ascii?Q?=3D=3D?= X-Forefront-PRVS: 0325F6C77B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39450400003)(39400400002)(39850400002)(39840400002)(39410400002)(33646002)(5003940100001)(2351001)(6666003)(6116002)(305945005)(2950100002)(6506006)(2361001)(86362001)(6486002)(6916009)(5660300001)(8676002)(6512007)(50466002)(42186005)(48376002)(7416002)(54906002)(53416004)(81166006)(76176999)(50986999)(38730400002)(25786009)(47776003)(2906002)(53936002)(50226002)(110136004)(478600001)(7736002)(189998001)(36756003)(4326008)(142933001)(217873001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM3PR15MB1081;H:castle.thefacebook.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1081;23:+LFkTRBvrqqAlsg9fNUmWUA0WG17OQE4HEFJ6HI4i?= =?us-ascii?Q?Hee5U8T+RxioYteLcXgYIN6Tylt2DLTMQYEor7x5/UV1ouomjwsPEqHL333Z?= =?us-ascii?Q?kOlZkerPQeIAt3POlEILYSfqbOvT7a07Jrq+N7RHws230PH0J9yOtOze8JgW?= =?us-ascii?Q?EDnT+55iB83ybGwcf8CQogutJWejf6iAFaYKNhuhQ4YKlwf1wgVRKclbeA1M?= =?us-ascii?Q?NiQ4P1AuHrv6asX2AKBaegwh7GZygtJav65Q1UvUcXVkuFFjTvx4l5xx3/lU?= =?us-ascii?Q?pnvk0HRkIqva7zOJSh4PZEV7tSKF35P8kfGDDai9wLChEyZ3yQdZbT6b4etB?= =?us-ascii?Q?tpSci1pjjiWq2nyifBf0a/vrRSOpLFZ+jEPgozdrae23un+fB7H62E4UcztR?= =?us-ascii?Q?0qWhEvnPJ3R5nN0HgbyYZVZkwABj9+n/mMu6TVWvW8Cmx9qLUkxsQQLh5TfM?= =?us-ascii?Q?NPUFkgTWPyylhYHT7eSqmcDl4TvlmGuxeSlme2vKrjlCeWAWwIdosrDhLY3Y?= =?us-ascii?Q?X3YBEG9oHsJ2WsVni4vVZrd+pY7XisCB0QoJF0hQ0IJndKyiyK9DAVpE12LG?= =?us-ascii?Q?5qffFa1faLVmGacSnbUXGs6O/Z3rlYx5Ip+y1D1YWJB7wW8CL+aw4n7xyc+l?= =?us-ascii?Q?72SpPC2XPKYelAukDC4UocpaGzbCzxi7qx2fINF+0DOpMQMiTkdPwoymBOE6?= =?us-ascii?Q?UQLYUtDENQxCW4Jpce0JwEITfAMzStNgvbJldvrlkC0QF2eMD12baF6LgUZd?= =?us-ascii?Q?0Vol4gzILw0UnFEAV8Rx2H7ig9TY774ETz3t6jy2OFB7yaGfh+9U3Ur2eakP?= =?us-ascii?Q?5NoE+gnL5GsOjXl2RW22W9YoEt0gt3ZTuhsFPSVm+WTx3y5e4n9j/U4LL2TC?= =?us-ascii?Q?XVAnIax5dpZlhGbGP273HBpt+9q5BmZgUHfOf0XH39vHMWk8C+wqsRWvXsID?= =?us-ascii?Q?0IjY2vEtKI66lwfzFo1E0Krs/BbV+jfr0Im1j1Tgm5g9eP1PmYAT5WCdcEEK?= =?us-ascii?Q?WXzTkVZ/d7Ljh2ZW4EqaSnuUZ/BoQLEPOxIgvVRDMknrjVfNRWRm8Jhu82rq?= =?us-ascii?Q?ZPuwGrtkLMfXfZfi+dELPBOBOUYfg2fGI8pClimLZ9Jf6bycZE9Xxa00f/MU?= =?us-ascii?Q?cRbkRiYR8hFE64HojLjifmkt4jKqGW/?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;6:WtkQChiQ32hzgtJeBVNAhsgDCX1sNP2vOYfSQPzFSeQyfCmhmcKzsctTYv6YzyJUwwqV2KcGi06YwunHIj97Fkw+I5Bshoq0awBCli6MBXvm2w3guAgS4HtJVv+Ekg25lPcufrauUgZltDF8pcS1GyufqTO8EOdrUjBlY0AIfpz4Kn6VSnTyP4l52BjQfUJLyA4T+HycZWJn3UcMuEa6127fsCnVJ96RxbmfLsd5nfkMsLixuJ9bMFUWa+7+7GA9rBjPW1xv3pYjwUcpEqrWE4nW4AwhvpfvXL8GHgqD/tpGKUSsmcGaX5MrLsGZ6bpdr6cMIxnD14U9Rm0i9dHVRL1D6AUboUW9gotbRRUkCYsv8NJrxtP7Kz0+ZzTCWo1jW4QkFpJCvxkIbLr2GsSiDcjijVMvM7BS5Y5h/m3gIBUdXyHm+V7AKjTyt5D3uvRwktT0OcvUPNaSsgNM3aQjL5XqlRYAHXx5f5sYHRuGrYjcZ6bwa9zp/dDEoL1fMD1/TWgcDh+ZsDqzqs+JILlcYg== X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;5:LZq6jBE72zGBm+QtAgogU1AmE0XdKx3jOwDmGyMemUjmmBUVZPOU/+rjP3ufOVkAARq0PYnYY8j7uFlKKLEOHsP7DR2ABM7htJRH/7UZvMpop8JiGSMBvYCIDCOqn41UBvE7Onouwy0FfkTQz7Wz/xWZzgbyMgZdI44RKVoFsdIkVBO1XX1CeQCHZxR/FevGFDxpuXtm6Oxg2e31/iJgK5fM5sWKb9ovzNyKj6EcHEf+nZrsHyWOcF3Sk+E0tfknqtsVmGL0zybk9Y9vowjcs2ZeTBwUp/s0e4HisJYNPpRctQfy+x0i9c7+Nq1w8+TpEbKPoFmPAj2VCimtYtB1T3F0iwT7vysX78xnYKtbCzLqpzqIn+o0qgVoCe18lkJH9gxFruBrDEBwh5GqIWq3kjVOY9gGrVx0XFS0nLuZjVavtVm72m0koM6s250hGHj/uNp6ZWWk3prRBb0+hNIOpn+Xwp68WiIY3vGTbJVJoLcKb1qJBy2U/pIi6HPtD+sn;24:aEqrZeq5eWAGxo3qxd5T1zMZd51L5593kIu6fjSbIgGhtssrCddn7DoOgPqdQlKZs3m3M+BxnWcXPUlQfZXq/GzmZP6wmB1IpkF0LpsJqdU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;7:XTa6twefxTSDgKtrbBMYlWrVp691e5LIXkZyrl4bmBjWIXmDMep2BCkdOW2DdnLCLhTJfzbRkiIFtI204oQd5bLmhT+SfEp3bvlXA+nik9XYOPI7kTTsAaOdhRUn5DQRPPwDrnP+szd2Ao8spXGu0TyCbOoRQTDV5k6K5BOPe9P+FpRSIqYhAT3gG6UFtQT3jIqMjIJPG8PCG5aZ1H3PLqz6u1/6yBvrTimqmdGwe6s4neVISW5FnF3xS/qJZirMPz7yTWXUhsBl+FVPW/MRP3YHoiI7CdoOpxCCMsOHW2zipjYvFUQJpFFR0bME2QPkK0/c+U8JO60QTQBoNB+hPA==;20:2Aa17RsB2xnrJrGozXWogI+jhBidsIKzWXbPbb9rd2BQ97EWNg22CFnAaMjfOu4S9aOYwwbQ/lXRZbsPfFzW112qza4kBcmyuja4QbCAwPZE2QQD0Nn8M8QpxQZDK0GyTUyzk/Dt5iK/j5+yRxZVPhxfVFf+tRpTmAvDZLwrF94= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2017 18:35:58.0605 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR15MB1081 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-06-01_04:,, 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: Tejun Heo Cc: Johannes Weiner Cc: Li Zefan Cc: Michal Hocko Cc: Vladimir Davydov Cc: Tetsuo Handa 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 | 47 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/Documentation/cgroup-v2.txt b/Documentation/cgroup-v2.txt index dc5e2dc..bb1e45c 100644 --- a/Documentation/cgroup-v2.txt +++ b/Documentation/cgroup-v2.txt @@ -44,6 +44,7 @@ CONTENTS 5-2-1. Memory Interface Files 5-2-2. Usage Guidelines 5-2-3. Memory Ownership + 5-2-4. Cgroup-aware OOM Killer 5-3. IO 5-3-1. IO Interface Files 5-3-2. Writeback @@ -799,6 +800,26 @@ 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_tasks + + A read-write single value file which exits on non-root + cgroups. The default is "0". + + Defines whether the OOM killer should treat the cgroup + as a single entity during the victim selection. + + If set, it will cause the OOM killer to kill all belonging + tasks, both in case of a system-wide or cgroup-wide OOM. + + memory.oom_score_adj + + A read-write single value file which exits on non-root + cgroups. The default is "0". + + OOM killer score adjustment, which has as similar meaning + to a per-process value, available via /proc//oom_score_adj. + Should be in a range [-1000, 1000]. + memory.events A read-only flat-keyed file which exists on non-root cgroups. @@ -831,8 +852,7 @@ PAGE_SIZE multiple when read back. oom The number of times the OOM killer has been invoked in - the cgroup. This may not exactly match the number of - processes killed but should generally be close. + the cgroup. memory.stat @@ -988,6 +1008,29 @@ POSIX_FADV_DONTNEED to relinquish the ownership of memory areas belonging to the affected files to ensure correct memory ownership. +5-2-4. Cgroup-aware OOM Killer + +Cgroup v2 memory controller implements a cgroup-aware OOM killer. +It means that it treats memory cgroups as first class OOM entities. + +Under OOM conditions the memory controller tries to make the best +choise of a victim, hierarchically looking for the largest memory +consumer. By default, it will look for the biggest task in the +biggest leaf cgroup. + +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. + +Tasks in the root cgroup are treated as independent memory consumers, +and are compared with other memory consumers (e.g. leaf cgroups). +The root cgroup doesn't support the oom_kill_all_tasks 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. + 5-3. IO The "io" controller regulates the distribution of IO resources. This -- 2.7.4