From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752501AbdFUVUv (ORCPT ); Wed, 21 Jun 2017 17:20:51 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:37578 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752143AbdFUVUM (ORCPT ); Wed, 21 Jun 2017 17:20:12 -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: [v3 3/6] mm, oom: cgroup-aware OOM killer debug info Date: Wed, 21 Jun 2017 22:19:13 +0100 Message-ID: <1498079956-24467-4-git-send-email-guro@fb.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1498079956-24467-1-git-send-email-guro@fb.com> References: <1498079956-24467-1-git-send-email-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:200::1:60ad] X-ClientProxiedBy: VI1PR08CA0189.eurprd08.prod.outlook.com (10.175.227.147) To SN2PR15MB1088.namprd15.prod.outlook.com (10.169.192.138) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f880989f-2ccb-4c22-8482-08d4b8eb3d1c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:SN2PR15MB1088; X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;3:BotUgp3M4AjHL+j4/xeKthssYYeWcaglKahYJ55bUHMdAgKrD3AIhZseNxu69nRcsOSMJgJaBm6Qxb9fVUWIJKKqVttEXcrt779Nc0rdWq0ANb3DxlKdypmfrE8W/Ub2iByu1bgaqjFarmXq1x4r8ts7XMKJo+jU+/suMAmtwXPX8wVp0KyCrbBYgYf0LaV7m2utUyIKw31HI99WDQpEDMurjNEKIuj+fKb2brQe549i0+DLP+8cgJXpmYktLeucpDLTuG78giLbZOh2jELwTVziXF5Vj+huhMC7r4VO4rxlTYeBOLD9cxopppqawhpDgHpasuCQHp3/c1LNmPC7Hg==;25:Y2AwumizZCdDvzr9G3jSbzuE8EWxDlVlEnjz01q2wI7/QT4LpamuZNCf7mUaUwWXJV7ZBB0JalU/7L9EyK2ksBWFWYGer17jrjRkaoyPgQN0+Y6bmx2KkD0MlV2KTtcSV35IQ/SJplasERYaQ2bYvEw270jPdIFUA6BmF93Fh3nyQu3TEjS8cHbpoWnqsrOxFB9+L7IqIe+Mn/+BbxtPNthTTB/P4XwOJiGD1tRSIaRBoKEkYFP6LYr5envbsk+IPVfP11PDlpvDFlrg+hX4FCL81a+xPb+/c8TpocEA8e6GY8+9vc287tpvW91AlhakaaqN26o4zIKo9ZfgQwP7th0dl9M1WFzZwZ2lTILfBqMMeYj91SzV+Ssfbr+BLuKzhW9CKFyccNosdqP0bwN9D79Ap+RsgNJbI2OtD8OBn/T0rqmuw3pmtEOZuGo36xJIr3m6mr20xXPzwrodPrnIGMKmWGqwqTSMHcUGKiDwa/Y= X-MS-TrafficTypeDiagnostic: SN2PR15MB1088: X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;31:KnsYhaLSdTZZ7jB/oEvGGUNP4R7f5dg85CdHH/BZ0fe0vV0+fdGRrrLJ9O0sGnRZ54noj3BuNXuYCfpCAWDjyUSiuLCRqRxkpUA3ZPLaMIssWpxqo9chhuOE7R9KobJGiM0UhUhZzPHjjCH2dIA7tDoK1FIQYwVljq1XV57FqxRftzDWslxAXWYjlaJY/kX165+opQnPZXUgeivmHEUN8MsNAioHWnHh23HkQbudwJs=;20:q5Qz3FE7Jk//jMXkjSlALAXRBveAfwu7ihXK1Ck3X0Y4tJ1hPRVbP3BbE5uzB82TagwxCepyyRsIor+PykWCXucElkhPmtoWy2ixEEvPpGPOlD1BiZjSuFzQD5AOj7E9rM/LCMixTIRDPCKynSI4zuw/xPxmJPCRXvBIcVEKjQC5Jf3o3M/Ph6BuMbteIKL4SUVdDKXbi29blx3dGxsI3JKJ6BwBOWWmM3HFC8gnMofkYfuGYfHIXiCVbvlA4Z5XwPDO1C0SoKJdziIQwn3BnjZK/EUAnGNcMI4N7T2sAfyhUdx4aSKV27wvkqNNSXYsmn1k3WH5c3MrRQCBg1apCXEUb52GJ4f9JJ6VnpymAp3DsmcG8NmyrFroxd4r2VW+Mk44Vua5UhBp0qk0UqDKoZPm7OvFZNSGZgIBYyCQVowuKgqQETk8T1CgRzKX12Cje5W2/IDeJA90gRlyDYx04VABZYSoMeAfikK+1Xf4y649o8Gle9pwNMuEoxkT0hkd X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(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)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6041248)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(6072148)(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: =?us-ascii?Q?1;SN2PR15MB1088;4:vujK4ZfN4vwOwgg70E1IQHgXnQ8WUYlvZy0xwYepDJ?= =?us-ascii?Q?Setx7B+E4hxfhmjsZW0Ja6QASOByL8SRbeG1Mmqr7iUcjA55OEdGViMOmoRr?= =?us-ascii?Q?OoGdeIfMXj2Tt0DD3HCpJZYEHjNIpijaMi8fc0dmMSB4rHdMYZmG0lPlz4jx?= =?us-ascii?Q?TqNB/AkoGTTysLULwlkDgUZbTVw7ucSUMxKeZPO/bgsDoGt99ILA3ll34xNs?= =?us-ascii?Q?vyN0N/smw5D72HgbFXb+a77yVf2OcE1cp0BCyjMiMRQzb4hoM3gswNEL7fvX?= =?us-ascii?Q?dSZZIWiGF9WYnEvPeGtM7fTfKUslm4kcQD/DUk7iPBl2PuXQKDEnQFwFewhD?= =?us-ascii?Q?wA3dW4dvh5HMO0oILn7YfgfQxR6J+yF8Utysod08MxoKAV2LbAfLdFm+87ij?= =?us-ascii?Q?/MWmxfq1Na1PeA/mr9VoZA8DRU/ds8gdUlvYU0wc4kie3/SEJl1MaLZ6guvY?= =?us-ascii?Q?ZzxhwoUIFL4/xnJOtlST31ydS76qF0pbH51U28/rz4pf0P0qMIJEWGHYBFnz?= =?us-ascii?Q?1ShZhwRknNR77TSGMZkyvu5awdjgwT2BaF2DS2+rGkA/V0qp75/gFC4mxX3M?= =?us-ascii?Q?YBfsoJoPZ13NZogH1AmIQGlevL43toFHiHtyqg/HewdwsZdNJcp178xO2ae8?= =?us-ascii?Q?UzhkQ/BHAdctASV4wJero3EB+MZCbNzouJzHPeZHhPAcYXERieuivc56Ylyy?= =?us-ascii?Q?qIb9AjmRrL31N49re5Q7VpzEDSuxrITnc/FaOuWMRksAhCb2pXLXmP+o6BcG?= =?us-ascii?Q?hdchHRfvq+W8ITRb/dVYouxSYCCqVMMLLzvoudIxJR8HlNRzK4BucxtgdnWz?= =?us-ascii?Q?jFT7s39xi9CjrjW2YvXmLuPd48t9Qe7NVoFFd2J5VXypO+Exv4nCqmIrtdE7?= =?us-ascii?Q?iyZf/DghNl3mjhDFOB+6MHdYU965Z0x/PWQb2Rjc8e9+gmHmpfnyzQyeIcX1?= =?us-ascii?Q?TM1XCDYghakGcf5SMX9NcOHcBeQ2Pg6ALUYJaahCq+bNMsNK6gSSaefMkTHN?= =?us-ascii?Q?rXWF31ARGiVXsTRqzjKLqNSQ8MQyTQQJ4DehdqrDzWjO55rAEdTTf08qm8Ft?= =?us-ascii?Q?jaErzfbK8RTlmBEnipANUi8mDTa0cOgirqJLit/S+pjY0A8Gc5nboxN+wKcv?= =?us-ascii?Q?ygoYIaQnQjR+vL+ylmNZ56yZy2UEEVqU3DIAy+Dx/DUWuMxKOhCd7jwpfocH?= =?us-ascii?Q?kQdty7Q7ujIwGHyUr4o2P3Dw5o577fV6T7J+eRNWXb6bK2H9cYjJtsp+UTdN?= =?us-ascii?Q?qlCacm4+45XhSOJC8=3D?= X-Forefront-PRVS: 0345CFD558 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39400400002)(39850400002)(39410400002)(39450400003)(50986999)(2906002)(76176999)(25786009)(6916009)(4326008)(36756003)(7736002)(48376002)(5003940100001)(110136004)(6116002)(53936002)(38730400002)(6666003)(2950100002)(6506006)(8676002)(47776003)(81166006)(54906002)(6486002)(50226002)(50466002)(6512007)(7416002)(189998001)(5660300001)(86362001)(33646002)(2361001)(305945005)(2351001)(478600001)(42186005)(53416004)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR15MB1088;H:castle.thefacebook.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR15MB1088;23:j7JuacuaqRFtb6I/BmYqMzeo5KtwaFzQhZ3A5DX3H?= =?us-ascii?Q?bGw90Dgjxkh05tgiIQDU4GMVynrfxwZQw5qZqJX+lZQFrkiYAoDQGlmj68dx?= =?us-ascii?Q?dUKqluMepGPiHXjwXo8S7NCTIw45rSWkdbxi/QtQDf3xeBgv99xR9yToWYvM?= =?us-ascii?Q?/THszIJvzDXrqiPJ22nL3ka2oqjalKNgxTevv9rill+a/AM8+vNz73iV7yYL?= =?us-ascii?Q?Yx5HFUZN7uKlFo5JvDHsy4OWiHZXf0N7Co+LsJhcxYygHaaFrIyZZpfRbByC?= =?us-ascii?Q?fxPMrbZxdS9CY5HvuZFElrSzzYJiEN7YaBeaVzOY8ad374DNLhVjywYC4uw0?= =?us-ascii?Q?SlYFVThMMvmbksREBoeMO9AJJXP1+DSYKTbMtkNeTt0Ojb8dZacf3zDSDWQE?= =?us-ascii?Q?ZnFDds6WIc6On/S0oszOk4ryNlTiV3CeRQYvnqNXfRIvWKOp0Zn/u7zkdYkb?= =?us-ascii?Q?QV+npvXJMZXa6x1C1A3doW0s2Tqp7O2fo5rnslMok2opQ0V8HqzcCu+/hNLR?= =?us-ascii?Q?p3yNlClzeFN3fASKMSSaBiRgWYIJTO41EqcaC8y5+BIY3W/TwXngS3RBPdLt?= =?us-ascii?Q?nTeJLURDX1qNSLuGfv/+Xchnk3zeZMiHXBKQdyKhigJO1LbutSJy7RLS2EvI?= =?us-ascii?Q?rqobTCGNyjCwsESH8XdbHbCSqcyxGLyWNYkoGBunPDpR7I8fE6L6Sgzx9ves?= =?us-ascii?Q?B+BxkQR4JxgRDHEbDUm4yyS8LQVl7TXL1tZ2KAZKiD9ablNmSCLmNYY9juM+?= =?us-ascii?Q?j8G5VMfqk8/zci2PyxpG8FVir72JuqAXwgwatKlOym9aX0eGxFiOZ1KpBntK?= =?us-ascii?Q?fa/FhJBTwx0Y92bxk+QbNfbGUt09DHdle92LexVkcvp4N5MY0zoyyxelGc77?= =?us-ascii?Q?IoMwyIN+buPnDgg1ow/FLi76JOCYVY7PrHh8bkUrMsago56Y8Aqi8VpU1RcB?= =?us-ascii?Q?6A3ooHkMIrbV8Pn2mroQrrAtt1xfNNwMtwvEFhP7AQWjAKXng9pfnmoSbF3e?= =?us-ascii?Q?2fHT9FP8jv1BGw4oJdQuzYNYsIq7o5xEYVti2N2WrRZYk3I7F4ZZD269Hhzs?= =?us-ascii?Q?Rv7ZkII9UNiEJOtHMypArSC+hmG?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR15MB1088;6:kQRSSwmkB8HMaYMSRvE10L1H+rrFN4ORsHjDkG9A8G?= =?us-ascii?Q?tEVgA6KGj0v1Ni0M2vDVIi/Piqzd1kWWINZlpHRcIh4zouTbM0u1GTamgvYx?= =?us-ascii?Q?a5BzQkdz88wSFyp+gzqduGJrRPcbdywNOeSY5HPVLXHpMZeMmPrDUjo17DbQ?= =?us-ascii?Q?PLFymAklkjXKUUY7jFKykQ1jgVgnmEynLmkqD84gODgKijygDRhLzJtWVCT6?= =?us-ascii?Q?SQ6gPwC3vYdLlw0OizZzCYu0mhRKYvE0TzfV/uGR6Zrrr2xxZUtgMMTHMZvZ?= =?us-ascii?Q?QME4NcPOnmxEekPHY2YxmI0Ekp0xsIpm914H6XEjQUgkUTLDKkFXFw2jKhs4?= =?us-ascii?Q?g13X9molHWzrRGjS9QvqvzDf+Br4hFtO14mAw8aI240V+bTHDg8RgRfTzV9L?= =?us-ascii?Q?tFltH7jpSljlao/efwpg5ecwK7ouCOJRsXHZuSayEjD5nhEEFMgmIBko+Fou?= =?us-ascii?Q?2ZWV7QvzXC2/92nVNbFIurhWaNw4FxlI7gAI62bajnZ1LsBG8Ijo//zEDSrQ?= =?us-ascii?Q?9euTpa+oSlCLYkQeghptEqCnLEpbfCcMkDYnkofBfLeZqC54VLKfnW++t9nY?= =?us-ascii?Q?/5YXviJ7YelQ8BNIdk8PBLbJNxQY+ozeA0aki2xLCcQNuVbo5HFuvloPr53S?= =?us-ascii?Q?sxBVs7QQrA6l3V+WGI5Astp/F6YL5exB96uOVrNqWk8b0ncfGmg2xiqmt17F?= =?us-ascii?Q?MutkYDZE0+en+DkAjjKdveabmlFCzpGQamw8OmkwnuNThkwLLHIARoATnz5c?= =?us-ascii?Q?LowytY9SrJeNvNysbc+e9HKKWdVZUnduZmywKiFqvJg+0TFWvxaQImEEw6pW?= =?us-ascii?Q?Tq+E6SbrmhjpvZmHFRQ9qKHVTc8Ib0ls3y1OUZymKXCGGx2QL3+wEUKvUZ4T?= =?us-ascii?Q?0Ywk0lLjfMMvi0UixQNQ83I9Aa+JucK9YuiMQuulx6X12WWyx7KyFFFKtLkL?= =?us-ascii?Q?Fo0izOxXkOXBYTjRkjBvBZ161XmrEzd3a5Sv1NOo5MkptT5QU/6FhbUI8MDR?= =?us-ascii?Q?c=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;5:ENilq/0fBAVxjqMuPKB8hm9EAqgRcwHYvOxuMvBE93s5zQAci0JH7xaw40Z7/JVQnAL+/BdhGL2YPnxt8T30eqEirxbvR0MNlyMyl4KmDNvRcaAOX9Q9YbeVzL8L7UhDWO9MsjQowrQoFIJDsS0Cc3O3RhIgJmy90I60I5KXt+Zz1Ut8I7EHW0EfwpUVtX4XnsA5ty+DxDBY6zRdhKB91b63sUko2/y2VXnc3Q4B5o98SF7jvA+/P2FKylxKz9H+735ayHi7NuFa/C44HQ2rgPpvyaxOIrGTCWKjkCchapQXcvw0KEjTkyrBiohad7ryRfDdrQbJmwssy2diXqUbwmLEVmRZ04iOT+/5fYgEQmVJot19uqXlMw9rZlKYGfGfjYfTdxBrun7s21/iOYPVS2oa+08PsI0v49+RXZgFnKS0yt8CMH3/9fMYumNvCsaW5uIBk2ep9ny0UdPDl1gyxbAPqCqQE3WUjxtiZ8qy/P5ibGIXg5X7dtzWCZ7huRRW;24:PxKwS4wW3vaDW58hS6mb9jf/oLxjUFgUpY+YXUhjm5V7I+97Wc12PLojHDSIBYnMP722N1S/h53p+UGJxGR1Z0iuRFJjEy3agDUA8UZlIgs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;7:zYS/54pIgovNFR4UMu0nR+LoS/+nx5oqMCKgTzZDG4TID/EyHuJD8TMYRIcj1QUO0C8CpGwo5faF0E8Q23NeIFq8ZYCFQQOzBNZoriTfOGOBG2HM6+wVcTGl/gsyPV2/6xWNASfXf8dlj30vqPz2mE7iYHhM143MROWxkaGNrFBgkPJx1KH7FzQ/2bhx/QGMOhg5LIlgN8rllB5hvDZ7O05t6Nm26f3kHfTStDTU8+IWSIMuH+ivuSyCY1bFPoBdC33qTOXVIm5kXLRukwX64eUDAIZISf6IgKZI6XtHuo2EF0BYLgZI1qSmEr+0lKEC/huzF3o8+QB09wGSkFfMWnhivVcpB+tHT7oPQsIsJB44RtqKVHVY+M++K0gBsZVJkZBW5tn+IdkgIyplioLd+/y1eLB5ABuECXerg3eFI17/zEQ4E4AiGgtcYMw709BpzpfG99+cr40UAE4mfmOv8SN22tVoYrNEYI0WBemUatAVA/GZ8bLeNqWQoChDtOD1WRTKB7BKubL8ERIg5nDuJaV/wjVKY55iX3iMM2lMMT+etyCMi0ZDZDfgQkLnkUlE1N8a4c8iiudyZPPZQ+jlKNqOHhRKctRHcBx31MlPcvrYSSjA9VIOSz99lQRcd0iD1cLcMSBakUQgzigqTLWLeWP111sHYt0WB92XJ0Ewy1hcwML8lycKAhmUth/KvGx5Nqr2opwILJdr5MwV7bbysVpnjs57pD9NmhxyX7xbvPJ3qvkgVvBUiXpxrofCldeyhPjaeVJD+UOkepq88umg7Q6+22ZBMFnXQdW8Jjgyngw= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB1088;20:SWBc60JSV0VrXtJEsYIWfQhTG7Xgyz4de1VgVX5opUGzKeX9Bt8pQ5OHtABdA+n9OBUeFqar5I/gauwUXl96JNLv/FcT+USIlCWxXdr2yGBGrswMyP5IOgroHZ6Uwlx+3xpk1VhE/uhbmrBSD4+PU0RZcCi5oKDBHdq2AQoSFKI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2017 21:19:42.5373 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted 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-06-21_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Dump the cgroup oom badness score, as well as the name of chosen victim cgroup. Here how it looks like in dmesg: [ 18.824495] Choosing a victim memcg because of the system-wide OOM [ 18.826911] Cgroup /A1: 200805 [ 18.827996] Cgroup /A2: 273072 [ 18.828937] Cgroup /A2/B3: 51 [ 18.829795] Cgroup /A2/B4: 272969 [ 18.830800] Cgroup /A2/B5: 52 [ 18.831890] Chosen cgroup /A2/B4: 272969 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 --- mm/memcontrol.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index bdb5103..4face20 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2669,7 +2669,15 @@ bool mem_cgroup_select_oom_victim(struct oom_control *oc) if (!cgroup_subsys_on_dfl(memory_cgrp_subsys)) return false; + + pr_info("Choosing a victim memcg because of the %s", + oc->memcg ? + "memory limit reached of cgroup " : + "system-wide OOM\n"); if (oc->memcg) { + pr_cont_cgroup_path(oc->memcg->css.cgroup); + pr_cont("\n"); + chosen_memcg = oc->memcg; parent = oc->memcg; } @@ -2683,6 +2691,10 @@ bool mem_cgroup_select_oom_victim(struct oom_control *oc) points = mem_cgroup_oom_badness(iter, oc->nodemask); + pr_info("Cgroup "); + pr_cont_cgroup_path(iter->css.cgroup); + pr_cont(": %ld\n", points); + if (points > chosen_memcg_points) { chosen_memcg = iter; chosen_memcg_points = points; @@ -2731,6 +2743,10 @@ bool mem_cgroup_select_oom_victim(struct oom_control *oc) oc->chosen_memcg = chosen_memcg; } + pr_info("Chosen cgroup "); + pr_cont_cgroup_path(chosen_memcg->css.cgroup); + pr_cont(": %ld\n", oc->chosen_points); + /* * Even if we have to kill all tasks in the cgroup, * we need to select the biggest task to start with. @@ -2739,7 +2755,9 @@ bool mem_cgroup_select_oom_victim(struct oom_control *oc) */ oc->chosen_points = 0; mem_cgroup_scan_tasks(chosen_memcg, oom_evaluate_task, oc); - } + } else if (oc->chosen) + pr_info("Chosen task %s (%d) in root cgroup: %ld\n", + oc->chosen->comm, oc->chosen->pid, oc->chosen_points); rcu_read_unlock(); -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roman Gushchin Subject: [v3 3/6] mm, oom: cgroup-aware OOM killer debug info Date: Wed, 21 Jun 2017 22:19:13 +0100 Message-ID: <1498079956-24467-4-git-send-email-guro@fb.com> References: <1498079956-24467-1-git-send-email-guro@fb.com> Mime-Version: 1.0 Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=facebook; bh=qp5v5Pk8OXKd3WwTmUHrM1ydaHoAJMuo+Ch4VMpwFgo=; b=EqB31YUwd+t6RKOSvlsnGutYkh9EWlpQYOhfLOZc1n0nvm4PJpWWMqJN2H7fUAMMpvcn Kq7JriwWrA+JDezVEyLTBgYHkpTFshE7q9eadm6nqLkRn+liTLb44G4aT5DzN2oSqeCe jdwphdeKTdXgSQfi5YJPBAcwZHmDL/Ka1O0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=qp5v5Pk8OXKd3WwTmUHrM1ydaHoAJMuo+Ch4VMpwFgo=; b=GE07PQdIMm+SqVeIZzrginFDSWc4ppnVbXDFKVRcMpHDuQ24Y7B03KD79PVashMuWafC1EjZA3zrg8hKohpprVCsa3z1O2sGrU8yDWKWTB5qiRLWOnuORh0qVgEmcUIhZ6uxFxvcHXrAUW2mHe9mxLv9EjQHASEeKMNTq+rwMbU= In-Reply-To: <1498079956-24467-1-git-send-email-guro@fb.com> Sender: owner-linux-mm@kvack.org List-ID: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-mm@kvack.org Cc: Roman Gushchin , Tejun Heo , Johannes Weiner , Li Zefan , Michal Hocko , Vladimir Davydov , Tetsuo Handa , kernel-team@fb.com, cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Dump the cgroup oom badness score, as well as the name of chosen victim cgroup. Here how it looks like in dmesg: [ 18.824495] Choosing a victim memcg because of the system-wide OOM [ 18.826911] Cgroup /A1: 200805 [ 18.827996] Cgroup /A2: 273072 [ 18.828937] Cgroup /A2/B3: 51 [ 18.829795] Cgroup /A2/B4: 272969 [ 18.830800] Cgroup /A2/B5: 52 [ 18.831890] Chosen cgroup /A2/B4: 272969 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 --- mm/memcontrol.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index bdb5103..4face20 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2669,7 +2669,15 @@ bool mem_cgroup_select_oom_victim(struct oom_control *oc) if (!cgroup_subsys_on_dfl(memory_cgrp_subsys)) return false; + + pr_info("Choosing a victim memcg because of the %s", + oc->memcg ? + "memory limit reached of cgroup " : + "system-wide OOM\n"); if (oc->memcg) { + pr_cont_cgroup_path(oc->memcg->css.cgroup); + pr_cont("\n"); + chosen_memcg = oc->memcg; parent = oc->memcg; } @@ -2683,6 +2691,10 @@ bool mem_cgroup_select_oom_victim(struct oom_control *oc) points = mem_cgroup_oom_badness(iter, oc->nodemask); + pr_info("Cgroup "); + pr_cont_cgroup_path(iter->css.cgroup); + pr_cont(": %ld\n", points); + if (points > chosen_memcg_points) { chosen_memcg = iter; chosen_memcg_points = points; @@ -2731,6 +2743,10 @@ bool mem_cgroup_select_oom_victim(struct oom_control *oc) oc->chosen_memcg = chosen_memcg; } + pr_info("Chosen cgroup "); + pr_cont_cgroup_path(chosen_memcg->css.cgroup); + pr_cont(": %ld\n", oc->chosen_points); + /* * Even if we have to kill all tasks in the cgroup, * we need to select the biggest task to start with. @@ -2739,7 +2755,9 @@ bool mem_cgroup_select_oom_victim(struct oom_control *oc) */ oc->chosen_points = 0; mem_cgroup_scan_tasks(chosen_memcg, oom_evaluate_task, oc); - } + } else if (oc->chosen) + pr_info("Chosen task %s (%d) in root cgroup: %ld\n", + oc->chosen->comm, oc->chosen->pid, oc->chosen_points); rcu_read_unlock(); -- 2.7.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org