From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932589AbdHWQyI (ORCPT ); Wed, 23 Aug 2017 12:54:08 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:48051 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932411AbdHWQw4 (ORCPT ); Wed, 23 Aug 2017 12:52:56 -0400 From: Roman Gushchin To: CC: Roman Gushchin , Michal Hocko , Vladimir Davydov , Johannes Weiner , Tetsuo Handa , David Rientjes , Tejun Heo , , , , Subject: [v6 0/4] cgroup-aware OOM killer Date: Wed, 23 Aug 2017 17:51:58 +0100 Message-ID: <20170823165201.24086-2-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: 16a9158d-1d03-46ac-ef9d-08d4ea4758ec 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:ic783gb7NRYrOF9PZS+0u+aY2X/Q+hWlCvDmn5xJkhNdeRgCCwwe71q1hhg8GIgMBXh0Ka19HkbhLaokkn9ZZzXCV0tmQYc59hQaWFJcVtVtSZ0zIActFKcMbVq0nZaUI89vdje4qq9RabbL2ta82LoeiAYCLb105rLX51lbKGMggXryLp+hIp61EQE8301+aZCD480M5hDPWA7Rehur0mSCyrHUnTf/QW7QuF7wkCRB4WAJhc/FGIkL6GHqwmlr;25:LSl9npwkIQo4VuSjbsUM55Hatm5TNtbW7oPPnUI97Go2DCdr9jeHNnua2wd5Gw3wKAmQQXGeD9LK+yn/RRnSvzRUDbUm7gXrIXO/woYvXnc4+Z8IqA4N5VmvqJqh7jfb/il3qnMNPexitxwcggqAOTnPpnfRUk2NmsxxZJbhJMWGsewO/aUzYU9R9PYUbwllyIfplL4V28AvmLyYDJVmp++adEW9CUlMp+FAQFzpregQBPly/CkOc3fUwdcCFOZnauntalb3ArJwpom8B6ZSOnVYnGm0ZKleOBC0Hjsu0gUMAOaCD29X9JAvl4+2dPsFnMDM1eQB11jBoeZQv3Nrtw==;31:gVVqtxF8rRmaZJW4Vqdbzrkr6O2vqL6/sApkWJbIEYo1wRwWqvw2KfJ6LDvCvr+jI2erkB6YvuaNzUL808fQzgKVDJ5UmpZJoqMcQjLSehBwR+Jtg0y8SbPcZf00nXBiXpXxbolddU5pVLVvqkk2vTIx3gmeW9C9+ppkpDoql3xkqD4NTWUZMj75JFNTk5OewPT0G819dR6pdVirDZ0JSa6HsNW8D2SaYr7f5/27RIk= X-MS-TrafficTypeDiagnostic: DM3PR15MB1084: X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1084;20:ZmsnpvgLv+61kgaEPvqImKtpQuC2jK5NjM75gmfkJAyZn7COxo1tZVYb8WevqxJ2gT4eU6WE/fO5H3qjAmZaqVqKLUZ/dU4r/+TZucFlQULnYORBokGnKfxjziYFqgxBFAlQKXOB9s4+PSLyj1FVBd5KUd/8oA3Ftkk1yCXRehno5D4ZTiROSQ9ls97f6brBqqCrqxpPA5VjlWzKUJiJNdKnqF4C4oqbUy0izCwGl6frL+9AuVkvnBlbKziH2onlI0uOR2T30cEiVv+fKhCPJxIrYTiqHKEYmAZInfzqLEsQW8/EdATg/cEKUlX6TEt1bYJmGjmu8Mwz6BMlqQR62fYIHGwPu39/MKInB1XVVa2HJ0I8DYVA5v7bQ9YRzNOwy3L1T7k1IvrV3qxJXtAWXv2K4hr1rGakqOVKY5zSWdxlwoTzhFUZii3qw6WjOOlN1LnwSBFhwHuJeeTMWbdXhPYQBXtnt5ytpDlrz67V5Qw9A487x7Z9pJr7Ty9MTCEY;4:D5pW2Wve9jDC2DbF7Q2sMUN/41L1eUmrNk2+9DQnJqCSoifLbuL3uNPt+AOgxkJExfBd7mLCMDZCJqUyunqzZkgeeQMrxYMYBJaWjxvezfNeZ45mFyaqThMILvogE4Kt8mGzJ/EmYoYPnCzaV487gpvDbhpZRiyzeA1Hj0wwHDyAvHBVfaPzkeUUoJeoqdW9ulgvcO9/35LRCJzPzqVnfFex3ZIWBPkzQto1sKeWI+MkQGA3Wkqs7nq66Tqbvhh2 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)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(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-Forefront-PRVS: 040866B734 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6009001)(199003)(189002)(76176999)(68736007)(305945005)(33646002)(966005)(105586002)(8676002)(7736002)(53416004)(4326008)(81166006)(2351001)(69596002)(50226002)(81156014)(2361001)(36756003)(106356001)(101416001)(42186005)(6116002)(7416002)(25786009)(6666003)(6512007)(189998001)(6916009)(50466002)(6506006)(5003940100001)(5660300001)(478600001)(50986999)(48376002)(47776003)(6486002)(97736004)(6306002)(7350300001)(1076002)(2950100002)(54906002)(110136004)(86362001)(53936002)(2906002)(42262002);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:Yv/dNgfNoC3cXRhGulnezjfQJmzFqU9nuIISYZzIO?= =?us-ascii?Q?0I9Un9GUqxKb2GBR/Y6euVQogCb03lHPapQqwo0I4f/jHSb+YEcpHfYR9Pex?= =?us-ascii?Q?XC+0AGXPDUgm9wFmcuolzBQi86O0hiALW5ho26tr8tcE8ZGk3bOmp15NF1Q2?= =?us-ascii?Q?EZir6d+/7WjOU1Jw3lbHDGPlZ9PT/MoUMq1WI5X4q+8kIhRzc1cmV+XMN6ML?= =?us-ascii?Q?r2dUZb9FgFhAhD+scAn9omnc+m5xZobXcXMe7t2qRJfce0yqVMDhhSvLq74T?= =?us-ascii?Q?p7hULoa7BUskaOKFAvJv+o0ynqlNJ8iTVQJ4arb8iufbvBI8rN5ILrIjC531?= =?us-ascii?Q?TIFwnVEYI7L3Gsm4HkV+c/ctqBxa1QQXmfRR3b1l/6NPJnnjalP7V6YUA3zR?= =?us-ascii?Q?l5Z7aapFNs0FA/iRAgd4xCXdiadhQF3vApf6+evohM22hooHQub5N9nANdqw?= =?us-ascii?Q?jjj+cEEb1COJG8Bc4FIazYjxON8ycjD5x3eod+QvW84olT/6zrJoAViBOq95?= =?us-ascii?Q?LKndeGvBoQ9+SgJ2pvjGVQIqmQ5cusjjTKu8LJCKcwWE1ure/BcbG88l88OQ?= =?us-ascii?Q?CQHE8lYpFOBSmcSbNd+mTuiDM9eTKx4N5IQEtd7O+JGjj9qz0y+qSXGia0Ra?= =?us-ascii?Q?hZL3pqKCeTaXBT82XbBKQL8a5elPlh1DpxTzwokifxDIhHmyeB9E17JuvZIP?= =?us-ascii?Q?sfaZu0rVHTC+8BS5WNngKettiLKOreuDjLgodfnmbnrlmpxN6iYXTa6/ZUVk?= =?us-ascii?Q?eh9t68BnWkQHm7PQibfSb5sU/TnjEfvNvxRFRcIU1b2ROi60oEjxlOyWMCQL?= =?us-ascii?Q?9b9m/g8gOvsasg5wGcNcw9I3nvqeoTBk/V8sC+rqEqhHOkl1MO0DpOKaLaBv?= =?us-ascii?Q?Fp8UPDkv6/8M1HjG3PUilmRem/TMKvzhEIdXDgvMrDKKDvJKUU6k2Sh5ezJl?= =?us-ascii?Q?2NPFMNK3pajR5iVOiX+oW3s8e/X+jD7FMHLIsTRaOutzse6dzb5FKaVSdmbE?= =?us-ascii?Q?V10oZxpdhHfp60QeGCTj60W2tJh1eDRTukNkZTg1IIHVxHk4fGt3wKoadK58?= =?us-ascii?Q?Y2W8uxuTgFdjhlnuum2Ww/3OiGTNt0JCtdkYQwYNjdb3lEFjbvVy01yg2tPb?= =?us-ascii?Q?EQ/6MLd05AJ5sPtOvqk6gW5iOGSnBlz6Wvt8Cp089MDm5s2sjDWEFCn+kOJX?= =?us-ascii?Q?KB1ZKwUOnVEx+eZiECxZ+q5EvgNWKVjPEwipbeJXAqO7QRBGodGPhovUA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1084;6:/n/GBExJlIOI7ulEScvVFEiKK1ZfRXUEyBJZjC015N7Oo8+HTZgq7V/dVgK7e1LCpcLa+yJJgcn51PuQsqdhnlT0vRWSBcXzBvTAKOkxmNAgJBc6JXTVQAIN8u9duw6ZKA0MAAylsO8oTQhnCudp3NMwt4ZU6XwyyHeKOiPDNIyogmf030nUl0hhxKw4b+mUg2HLbZe3agEXpq3dYmnt2LNgHrEFhYCgIzztqOd5OAkfV1T+i1WWpY8aAs1f24Ef/Qbr2Z4o66Po2SZGgx6L0fDUS7EJjHi3Em6x4NGomXcTAYRd7tCl1x/g6vCU2eiiOYpc6oevpDLU4DNLe3NTag==;5:jcBqjtIcZ5P/2GY5MYFHDrKSzVP0oQSBFPXzV94Mdgc/S8BUaGp6kdF1vZwDz0iaQl5mK/bru8dNay1v6qF+I+t0MxPTniV3f0qtWO9LfcMXn72TevRF+vH6ul9EgrLMpLl5azsrn1nB+JowjPlVUg==;24:2d4jCi4GrhGy7QWSHWa5fHzrWOaD2nv8gAO+ntYedfqsI88ZJkcZ/fveEHQkE3WlkArDbmG3fTMEbxJSvOto7K1EWVrlhsDwjUH9he9vvsE=;7:bjD2O3t5xy09RfE9F9XrHNWaBo4OD80EEwhGxUYrrKA60SMlX9W2n3uKZIYl9uto9JtAKZZwRDc/HIkiAwe7EYlfVSq9drpCAKstiA9e87xw4mwzR3qbBvO3Trym6gO2t0zFmYmfRThVWL6v1oUAqaBfMCnflrmqJYq3B0XdRqYvGVLyy4bqx6Y82Vp4Zo/dbTzjLymRJiS9TSgObxnCU3mgy8MErZlUvXvlitHyZlw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1084;20:kP1Nlr/i4ixhogudGbgw9ONxq4PNV3zKQ8Ov7F/2qGpiI618qLnv+XWvfmMF0jO6V6+cSy2wGgVWtyCGPXbIqUT+W/0t+OxtbbA3hrHMUmHJYoTHAWarE2NS85Fv7pTZQJccCOGVauZ1vkBa5G/LDsULj2PQKcp6OuK5cYyVtss= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2017 16:52:29.4863 (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 This patchset makes the OOM killer cgroup-aware. v6: - Renamed oom_control.chosen to oom_control.chosen_task - Renamed oom_kill_all_tasks to oom_kill_all - Per-node NR_SLAB_UNRECLAIMABLE accounting - Several minor fixes and cleanups - Docs updated v5: - Rebased on top of Michal Hocko's patches, which have changed the way how OOM victims becoming an access to the memory reserves. Dropped corresponding part of this patchset - Separated the oom_kill_process() splitting into a standalone commit - Added debug output (suggested by David Rientjes) - Some minor fixes v4: - Reworked per-cgroup oom_score_adj into oom_priority (based on ideas by David Rientjes) - Tasks with oom_score_adj -1000 are never selected if oom_kill_all_tasks is not set - Memcg victim selection code is reworked, and synchronization is based on finding tasks with OOM victim marker, rather then on global counter - Debug output is dropped - Refactored TIF_MEMDIE usage v3: - Merged commits 1-4 into 6 - Separated oom_score_adj logic and debug output into separate commits - Fixed swap accounting v2: - Reworked victim selection based on feedback from Michal Hocko, Vladimir Davydov and Johannes Weiner - "Kill all tasks" is now an opt-in option, by default only one process will be killed - Added per-cgroup oom_score_adj - Refined oom score calculations, suggested by Vladimir Davydov - Converted to a patchset v1: https://lkml.org/lkml/2017/5/18/969 Roman Gushchin (4): mm, oom: refactor the oom_kill_process() function mm, oom: cgroup-aware OOM killer mm, oom: introduce oom_priority for memory cgroups mm, oom, docs: describe the cgroup-aware OOM killer Documentation/cgroup-v2.txt | 62 ++++++++++ include/linux/memcontrol.h | 36 ++++++ include/linux/oom.h | 12 +- mm/memcontrol.c | 290 ++++++++++++++++++++++++++++++++++++++++++++ mm/oom_kill.c | 209 ++++++++++++++++++++----------- 5 files changed, 539 insertions(+), 70 deletions(-) -- 2.13.5