From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753378AbdHXN7Q (ORCPT ); Thu, 24 Aug 2017 09:59:16 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:40109 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752989AbdHXN7N (ORCPT ); Thu, 24 Aug 2017 09:59:13 -0400 Date: Thu, 24 Aug 2017 14:58:42 +0100 From: Roman Gushchin To: Michal Hocko CC: , Vladimir Davydov , "Johannes Weiner" , Tetsuo Handa , David Rientjes , Tejun Heo , , , , Subject: Re: [v6 2/4] mm, oom: cgroup-aware OOM killer Message-ID: <20170824135842.GA21167@castle.DHCP.thefacebook.com> References: <20170823165201.24086-1-guro@fb.com> <20170823165201.24086-3-guro@fb.com> <20170824114706.GG5943@dhcp22.suse.cz> <20170824122846.GA15916@castle.DHCP.thefacebook.com> <20170824125811.GK5943@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20170824125811.GK5943@dhcp22.suse.cz> User-Agent: Mutt/1.8.3 (2017-05-23) X-Originating-IP: [2620:10d:c092:200::1:ec5a] X-ClientProxiedBy: DB6PR07CA0129.eurprd07.prod.outlook.com (2603:10a6:6:16::22) To SN2PR15MB1085.namprd15.prod.outlook.com (2603:10b6:804:22::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 44f78c68-2cb8-4c26-d356-08d4eaf842f5 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:SN2PR15MB1085; X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1085;3:Pg1Ogq9sSaQL60xXq9w8RsTG3/XraPS2ZZfa+kruzu/cYTGgvwJAU7G0ibfmfB2eg6TZQOQqxSBlLJXkuCVveP5Lfk5/WGgdGhVzLiR3yNjkxQKqC9S2IJdrHctpp08ygTdaEdgUo9O7kPak4kuDdYvnIP0QRx+MscKd58UPqIxnHEgRf6ZL0W1BG0l3lPpaBld042J5KfAPY2yU+82UU6gH7AW77NaZFsISNeMm2eswzMKGzQ3jRGVsSPT7pma7;25:9/Xii/E4VQ/BjVDBgPDGDLi/MXtFGZMUeRuz8AYEsodNal+2sddMtvvb0YzCmbtOkjAcpuD0lgnBzX4J9zDQ9PJCZpKfsEJvsCsOty8H537MrnOraOWCT1DDmDoTHW/EdbhX7VbHes5oXuZkt3QLKswVVKwdZK5iy4cRfgVfsNGywCZ7Uefd7J+pgcO9rVeh9Qy6Bn3rEX8nccnSSEwsmqbqBUgWR8eBO+AtTFziPvOgwTQosnDaXO5OHl2JEINWZHKbnIdZPbDtcbZVLtaNUe8o4E2fKj73Iu/q+Tc30VnwoJhJC1pi8rxDX1+wH16rrNPSq7Mp250JHWt71zELaQ==;31:lJE4LvW63G0PMYbPf0w+IpQ2CH/npVXOnCnTR9Lg/MIRDOpNZwI1Qx/GmJKDEz7w6IJD8KohorJnEpc+NhfSN2+rOhJJ5CnZNaUKBguMctSGsyG0A33u0oYXdXL1P/kwgzV2PQ2G3nGtMHww0kyzL7VQ6hs0/sUiCTQTv7DkkZtt+90sWF+nZpgdNdSEAtWLtGthEhB4CuexoC+sXTbgPYxdDGYZROKj0lRDGt6tDXk= X-MS-TrafficTypeDiagnostic: SN2PR15MB1085: X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1085;20:NpeNAgUMH++W1PeNLsGsrBydBzRzo6OBvs/E9ksCYJd1k1xg4Qlucj9/9N/1FhGwDFg9PxInf625Ikk23lwgAOQ3Ejsc5b7YfrzUGLqyE56hGsNuWm6AjW5QIx/lKzf0/MmWBtEnVHjdT7HxrT4aHOvx3cwh3HLYuP8LsVeqdCOyvJE5hCAuX9INuH/0QJz4dSVG/HUNH3n6/X0E78qUA7C9wAUYxoxrsSZ2k5rORRoKFn6WH0kuif/sdm03MDWGYKI0rn1LXDuxMdz3g9ClTawsbXvVX0BNmItAsEr91DUExRmnmdp6CSDF862Iborwc+ZMPORp7LoPM2Xaj2qfwrzMAllxpUAglMm9PUWKiQIHttjY2N8xBYM0WhSWWx7RT5yTOqOqBV4vUtFOzpohbTNkpCXPgXYnXIZQqiKMu7+wOF6e4oVzbaoxUCD6NcmmRuUDvqvHurp+oGI3Pnl3pAAyT1RYFYOY7tPArfEFgh/7+UaNH7EupyKyNYNZ9IRu;4:sd2eg+Mw9d4qkDNL2ceXlN+HgPq15/0xnQO8fbLTPTK9Oq3pBJgsPkeJ1a/H1SGRhEBp+10+tuaa7Ck9f3ydZpTCwwlwQdCnWVaK2ijQQYW87i/TLPYYndS4+KlYHv2x0EIu5dUSJpdVfqPkvHgIo6vXcI+034IzqFHex71Sl3okdL5uL911P0+0nF2CIP9y8KUUj1ULbAeZ3qE1Q/tahHv6Z2vXClcud976wATaUtPIAeTqyHPCyi7vyjKx8xKm 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)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN2PR15MB1085;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN2PR15MB1085; X-Forefront-PRVS: 04097B7F7F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(7370300001)(6009001)(199003)(377424004)(24454002)(189002)(47776003)(6666003)(97736004)(23726003)(50466002)(83506001)(6116002)(5660300001)(2950100002)(2906002)(6916009)(7350300001)(8676002)(93886005)(81166006)(6506006)(1076002)(54906002)(55016002)(4001350100001)(81156014)(86362001)(478600001)(6246003)(42186005)(105586002)(9686003)(101416001)(25786009)(229853002)(4326008)(7416002)(189998001)(33656002)(50986999)(68736007)(53936002)(54356999)(76176999)(305945005)(110136004)(106356001)(7736002)(18370500001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR15MB1085;H:castle.DHCP.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR15MB1085;23:Iw5Xf1QPlSARY8MyPUo5SlIWdKLSS7fMhYYsAfXiw?= =?us-ascii?Q?0dEne/o7ZDcQUJGVe/Rqg7CdTwAzlTCsUPEFOHzTSyTbOX2yxkQ9Q//rkiPl?= =?us-ascii?Q?PD8hAHFmHLESoZy1huxEeNHkz1PDUcBQK6+99ShNxNR86MjgG0Qh3g3E+Pae?= =?us-ascii?Q?LoHd9htqu456splszaKrtUvZigrMZxaMqDXsPtIswKSUahi86csGiidB81xi?= =?us-ascii?Q?aSesgbkTX+mPHIkQt7iGVs3RoJq2tB6MyU+KTV3xkETI1M+DiLqJBe1CouNc?= =?us-ascii?Q?IqdyXYlvHtvlnrBO/sMbegbiIvQPkkYmpb2sgo8UBgFrFvdlF0yiW+KEng20?= =?us-ascii?Q?6LVfEeWKnvcjQ5WOWWrqEARMQBr+Gkrc/09d6DuT0LHLsEILKBNka3D7QYjU?= =?us-ascii?Q?d05e6Ki7XuDbO7opAe3Bs5fqoiqdHomr+Y2N7KzxQ9djfqqApN8ABGS1GDzo?= =?us-ascii?Q?KvVe6kyTL25gO4qDXsZO4uef3VWZ9PggXbFC9qzXS2a0peBanXjZ+1ur+/lG?= =?us-ascii?Q?ojGht0J7mbdJ5dzJlMd/7DlYOTcb1yR44OtQDMN6HR4z1BujsBAfNWS4jEG0?= =?us-ascii?Q?esFyW0D4VhUeNc3pvuiO8OUcq6pSPLlUhgeuxDXAhD6Z11yT7Qqa0blK4v3f?= =?us-ascii?Q?vMBtfiez3PBM1XlYDD1Xbt0fA4jO9CPyZkNSO16pQAKRps+Ga/tORWKjBZxB?= =?us-ascii?Q?TKt57hzwIQ+wt6GJ78QByxcL5Q3tzRa7JZzHyFfWVb7v3E9jzc+bsc/wiVoR?= =?us-ascii?Q?rFnZVJtCygOblGVrQsdYnMvBlOiI0U8gFmcZcfeX8V5qawFYvNHpumKrlQBe?= =?us-ascii?Q?vNW1QRKq9g2oLSu11k1tJ7RmYEW8BN1en0ITgwu81/JmiAMf5/xEGKk1R6A1?= =?us-ascii?Q?sNbpDItarMvcFC73B8XKL0zvo95uz/ED7dYGcefdjSYKqSGhoSSoTAdH09ch?= =?us-ascii?Q?9fPDgwqXKeNdS5boMFbRBSak+aQSb86Sg+6yZ1W5sd+Hac6q1mqhqRIP8Uz5?= =?us-ascii?Q?fRsmXMaFJ3fazjH53CRj84/93vTatuIvGe7a/TVG4h7TOXOMZfA9Kj7fTIRV?= =?us-ascii?Q?ob/KYsVxxA3mf2Qdya1OsbURA1u0qnBlGF1IeN19ba19+u7o1RC8lrQp0NJz?= =?us-ascii?Q?zjgFG5QZ/dVIBvEIqkCumMp+1pv9lA0u17GdDn3vtXfMLaULbOi9Tvs4HFxJ?= =?us-ascii?Q?FmKMAVE52o793pmj/JQa6lESAyltfSotxHruGI6B0ifRrVydWUC0JC+SVmWo?= =?us-ascii?Q?EqgapciIVsK18VoAOw=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1085;6:d1vrKgFiEk0wAcyLMiI53CZVs21TY2Gx79qvOCz0aVvVsjJHTeiafhbpsTd2OKcCrdC15Ba5vTFEjm9rPknoWScAqx5FUISLR4dEjkEyS8LQZzfDAypQ6EVABhoAhz2Ym7UStvhHpqbMVa1odlU3Fs8crc+VeI0adSq8R8jFcBKlDoSpOy84gFlNjxD0eX5fOizErNTVW+yvAiAs80Sqv9tDrBrzWkdD4mdLVXbuPzaItktMkKuYaflUCo78ImHMmmVFNZ7c5NHk9eM6mTOhyJuzni0A4Op+6F4yY6817TAG2suAypJ7hFtMmv96z5DZH3oOYqtXCuBXG80WWisotg==;5:KqfOXhDXWDl3DEsWcNClgRPgc9Ie9zogywfsnwOQqegplG3kRNS+Zl1YDOGy5nuk/YSVMKGDuiTD8thgmYnpVAWpwCPplUk6CXP8jb0R8KfCgVYAVKO80LQk8Wqgjo49BSbmEP7RnrahvR311x58Nc/btqcX6FiQDhPWdReV35A=;24:LndhpFFNaZXP3d/PV8hfSBFDh5DcjQ6rc1OFhW5yBTfU3gt+A29iL0tm50SNDJeuF4rgLPWgat48z3mFJY9vpr4TVjtVRLUEIJnLKlr7ln8=;7:rPmQr2W+1Zatru/Eh1k0uQhl+kyaUdNSxPnvwiz9hm70xiluGZyLw5OLMW5K0rqJ2AaBKBQidOFIRFyp0BNCnp38r935/283cKaDj2KfEL/5mOXSptnS0RTIgDyghwbfvnD84OVa6M2ezzwEo+QCMXilxGmUIB2aRfGNJgNuhkAuVMz9/eQB2LcSBpajp9qLw3cCifAXfVNWsaNKpE20wQ/2EHBvIlYk9+/BsczsuMg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1085;20:EBBdMzwnresLTtwOTVUV0PKjT7BftEUAdAYr5AW0QEpJrh2sAqNjER4K2/BxOSCCzmEuMJK0C5YBfx75sAjU4+xrms4dMK1t1YEumPWWsCSQpjuMjk3zJvj8a9gAcyh6bsCA7wb371VxIXCP2tccHUA8KrbXoGwovghjtNdFoz4= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2017 13:58:54.3839 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR15MB1085 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-24_05:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 24, 2017 at 02:58:11PM +0200, Michal Hocko wrote: > On Thu 24-08-17 13:28:46, Roman Gushchin wrote: > > Hi Michal! > > > There is nothing like a "better victim". We are pretty much in a > catastrophic situation when we try to survive by killing a userspace. Not necessary, it can be a cgroup OOM. > We try to kill the largest because that assumes that we return the > most memory from it. Now I do understand that you want to treat the > memcg as a single killable entity but I find it really questionable > to do a per-memcg metric and then do not treat it like that and kill > only a single task. Just imagine a single memcg with zillions of taks > each very small and you select it as the largest while a small taks > itself doesn't help to help to get us out of the OOM. I don't think it's different from a non-containerized state: if you have a zillion of small tasks in the system, you'll meet the same issues. > > > I guess I have asked already and we haven't reached any consensus. I do > > > not like how you treat memcgs and tasks differently. Why cannot we have > > > a memcg score a sum of all its tasks? > > > > It sounds like a more expensive way to get almost the same with less accuracy. > > Why it's better? > > because then you are comparing apples to apples? Well, I can say that I compare some number of pages against some other number of pages. And the relation between a page and memcg is more obvious, than a relation between a page and a process. Both ways are not ideal, and sum of the processes is not ideal too. Especially, if you take oom_score_adj into account. Will you respect it? I've started actually with such approach, but then found it weird. > Besides that you have > to check each task for over-killing anyway. So I do not see any > performance merits here. It's an implementation detail, and we can hopefully get rid of it at some point. > > > > How do you want to compare memcg score with tasks score? > > > > I have to do it for tasks in root cgroups, but it shouldn't be a common case. > > How come? I can easily imagine a setup where only some memcgs which > really do need a kill-all semantic while all others can live with single > task killed perfectly fine. I mean taking a unified cgroup hierarchy into an account, there should not be lot of tasks in the root cgroup, if any.