From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 51567C54E67 for ; Wed, 20 Mar 2024 10:55:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BFB596B0085; Wed, 20 Mar 2024 06:55:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BABF46B008A; Wed, 20 Mar 2024 06:55:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A24C36B008C; Wed, 20 Mar 2024 06:55:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8DC4A6B0085 for ; Wed, 20 Mar 2024 06:55:23 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 60C7E1A12E3 for ; Wed, 20 Mar 2024 10:55:23 +0000 (UTC) X-FDA: 81917110926.15.9B47259 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2114.outbound.protection.outlook.com [40.107.104.114]) by imf13.hostedemail.com (Postfix) with ESMTP id 884902000A for ; Wed, 20 Mar 2024 10:55:20 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=virtuozzo.com header.s=selector2 header.b=vy0bi5ld; spf=pass (imf13.hostedemail.com: domain of ptikhomirov@virtuozzo.com designates 40.107.104.114 as permitted sender) smtp.mailfrom=ptikhomirov@virtuozzo.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=quarantine) header.from=virtuozzo.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710932120; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1Wn0hRJWYtMA2BHuz9foWcgH4fPaNPeLClzOhB/tZw8=; b=u35H6283VpZpy0X+s3y0Hq0v1KxXPNZwm/fHaxiIyXAjqh6oNYR5ucUsPQ3xiWJmYmVc9B MimCeQ3DOh++0veIUWb/rShByUpgLIJt3qxh8KA3ntuGtO2gi7wCOXxrU+KKw97Ww0mZv4 F7p0+ZkkfBj405pXAcfYycUdSI69BXQ= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=virtuozzo.com header.s=selector2 header.b=vy0bi5ld; spf=pass (imf13.hostedemail.com: domain of ptikhomirov@virtuozzo.com designates 40.107.104.114 as permitted sender) smtp.mailfrom=ptikhomirov@virtuozzo.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=quarantine) header.from=virtuozzo.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1710932120; a=rsa-sha256; cv=pass; b=utfqz8bLTDqeeebRdTpLhDgZgM6WKO60PjcuvtITZDNH94Xg/xLKr4WGs3vN7rOjV53Wbw ueE1yW+B9HCSJKyarJBsO61w53tjC0yCgu+WYbhdAs6055hzZmzS0/IzjB7Q6TLLIVs4OX ZncH2c3YUqJjLCT3dsB50L+43gVNNvE= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=monbVy1sP3JA6gWE7zSuAsPBZK44g34nNj32McsgFwqEg9UJq/Nx0SdAbTe3jQqKnKNM5V/ahfw74gI3aVugb9Hmvq6WHzTXWdH4plb1H/+f7MEbnBW5HZC1nG8TtUEq82h6o+plUHs98RzSjewkCPjsnwsl4xa8t8cfgltkC0GNJws/Dfgv1nAdg0R4JCkCAMxbLvD7LuqJ1MpwOHwadCasRv3th6magZjsmSIcaXzhCiT0BYjCGsBkV54kgzhLJ3tQ35aUkk8xuyIrCZt//ml6i5DRV+DwvVrPKuL2fsX+vHZWKkCcLR+DcIaMf9PWacOH3gDgV/pzzLVWoN8K0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1Wn0hRJWYtMA2BHuz9foWcgH4fPaNPeLClzOhB/tZw8=; b=NqrwT+OGs4qkd5EOL6SyW56wvTnmTh+1H1pLVqCbY3uLY30oYiNk9/3e1UhMhaZ2yBGUmDKuPzT5rWp0BEWqUOvZNO3/bRSZw610SF+187/1l5eqjMt7lSDknNCcPOSk+wSna5Y5o815IJHfjaRlF8IFR79+JCZ09xRSDI/OalnbgEIBOn8cqbH/4ST4woZUIRhmwRrwTbk6u0NR09P0TFsXWSOwU3MkwC3g0qjgswVHF7LPXs/fpVZ4IinZnpiuwVOOJHmN6uzUEFgrb277/wFCB6VTYf2k73fMm8obMQWU3l+VgzOHLRAVrUc1xYHe6pJolQgF8/ttJwDDKHU/gg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1Wn0hRJWYtMA2BHuz9foWcgH4fPaNPeLClzOhB/tZw8=; b=vy0bi5ldpY0w2/enwCAgja2sdmrKAXGr0JaVpESIibN+V6wZvrfTAZwoQ6XjF9THVSItkC82BcPPzVzKEI3afgKLdX5XOhT303smUUfmgfkN+QEYYoCw3HP8nHkb1WZanCbReA0KblVgmXKgqlSR1r4Z2ZhLlMUXel9Kl6Kh9hUfpKpBSp7eCu5obbYyxu2jyiCtAaUQn3Rl/c/KmSI6FwRAGCSS2zau4TNGeaFLAWxjd4VEK6ELCL5ve8qhHocjIO0otb9TeD1skX93nx7wq3hwFB6In42KJgk/AheIte/Hn914lU+4IhtMQq8VchX1EJlH5wAGlFcNAjIP2UJ/6Q== Received: from DU0PR08MB9003.eurprd08.prod.outlook.com (2603:10a6:10:471::13) by PAXPR08MB7525.eurprd08.prod.outlook.com (2603:10a6:102:24b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.28; Wed, 20 Mar 2024 10:55:13 +0000 Received: from DU0PR08MB9003.eurprd08.prod.outlook.com ([fe80::ade0:bad9:96bb:6bd0]) by DU0PR08MB9003.eurprd08.prod.outlook.com ([fe80::ade0:bad9:96bb:6bd0%3]) with mapi id 15.20.7386.025; Wed, 20 Mar 2024 10:55:13 +0000 Message-ID: Date: Wed, 20 Mar 2024 18:55:05 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/memcontrol: stop resize loop if limit was changed again Content-Language: en-US To: Michal Hocko Cc: Johannes Weiner , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Vladimir Davydov , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel@openvz.org References: <20240320100556.463266-1-ptikhomirov@virtuozzo.com> From: Pavel Tikhomirov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: KL1PR02CA0005.apcprd02.prod.outlook.com (2603:1096:820:c::10) To DU0PR08MB9003.eurprd08.prod.outlook.com (2603:10a6:10:471::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR08MB9003:EE_|PAXPR08MB7525:EE_ X-MS-Office365-Filtering-Correlation-Id: 84a8df26-7ba0-41b7-cb45-08dc48cc381e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kWxVfZR9tuAlImmuqTKdXqbxzFdUH0Co6D4222bxrFVGkzQVsb+TOi+GNvFfMOqcbhW3j188w5uQmxVzTKp8iV7vAKoIciM6ej6uwtxOjpDALaVjgYouIcE6eEV0ovLr4US4RbTLX/vwtg0PsDKhxqDVahuvw2yswpYT1ZWSu3e5+1rdwm5O+uWhZSAbl4t/IYHC0t+4YyQd4q5lrpudEgz96QNHN2QwLMuXzDtdp9CeeJO1zuyQoaYRN2nT5PWFaLUdocOxcs8qxhe8cmdT++uRkoMdZLrDWaPbR6tfr6oQpkeAJgs1Ml2MERf0JBFIgRMJaWbqicUYLuq+Q08Gg64+WYrDY33S8x2LerGcNrTVT/zGug4XT7Y/QyBjEcjjWoLRKSmgbax6CVJRVglGwgEkNW4eppEXzGFOSt/IRTrgsslsmbxCNdrBgIT1NScxFt2LYuW9GW2if0BX/J+MylAjARH8uFT6mEpcZ5FN0ewcxAq4IZRILFhJlI3FnoF6usyYC/cScnZQPklkpYhFLXgopgfbUalZhmwCc1xBFqGVYqXvoZ5uf+W1mtCcH5wM4EyXKNaHM05QIu0Raa42jSTR8U9yEXCiYr0ya1OcfWshfG1tlJA9ub9UhUx6V39200OHllmJKxvtwXNRufecLuaBZTTJB6yXFe2liEB4BYw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR08MB9003.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7416005)(366007)(1800799015)(376005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MW16SWRlRmNYNmNQR1VyempsVmVPZ2lKdmdwdGJWdVV0OWpReXdxMlRQSXll?= =?utf-8?B?T1JMRWNiZDBwVTFiMnNzaFJGQ1pOVWNLdFo1eS9sK1JyTXN1aXNsMlZmeTBO?= =?utf-8?B?RzVvZ0JHWDllVDlDOWRHTmdja1lwWFFrbysvekpXM2NXN21ad0JXRlB5K3VH?= =?utf-8?B?VWZnTXN4VENIS1RieENpMjJHRHpWMEVJRnRoUTVDS0FmeE5qUUswc2FvVms3?= =?utf-8?B?ei8rOWIzRkI0MkNSTERFODh1cXlQeEpwamV5TTNmcE15N2hyb2tnTXc0cHg4?= =?utf-8?B?dXBKcENFUFZkQm9pUWIwalBUWmthN3ExN0tvdUsrMEpLNExVMDU2bHdTcTRs?= =?utf-8?B?Y2hzdVFJeklSYnc1Rm9LMndZZU9PNWdoTjQxVmVMQm1VL09ZdXFoTy9UOGg0?= =?utf-8?B?L0J1ZFduVDd6M1ZFQWF2OHhVbS9qamtLVnRxNDdZaVNPb2o3VXIya3RwZkY2?= =?utf-8?B?YVJIVE9CRW9EZGlaY3dCdzZaLzlYZjBvQ2dBVitQVHFKY25MdCt5QnNJMGdX?= =?utf-8?B?TzZEWFYzRUFDWkwrbnBjM0hEbGxlR3pJZUluUHdNU0xFeDZHdkJlYVBFdUg1?= =?utf-8?B?Tm91dUhNaFFFbGdyd2ZTY0dpSmpwTlRaQmp2MFBIVDBnQURCVEdZL1FFdWZp?= =?utf-8?B?QVl6YllMMDYrNHFMUndUTkRRME1iNzJocldNVlpxRXhwa2tBSytaV2p5d2xy?= =?utf-8?B?SFAvZ2dpVmhMbDllT0lxWkNJNHV2OUNtS3VoaTEwenNoKzFSMWFLemlXSlJB?= =?utf-8?B?Q1UyVUc1QStFdnlaYWRnWCtIeXNEN01SVmhBV3B0cGcyaVVqSEV4cGFTUmRa?= =?utf-8?B?cUE1S09Lb3R5Z0hCenVTWUdRdHhHancxV0orenRhYnFoUEFhWGxDU3VybFk4?= =?utf-8?B?VkQxNmRwazFVY3JVcE8xejdkaHdibnpDWUMvTlJHTE5QUjVRZzBQLzVZQUJG?= =?utf-8?B?TzZtem5iU2VJYVZFSUZDbXFMdzVrV0c4ZWZSNDhLYnExaktTQUZOUzUxeEFD?= =?utf-8?B?LzZ5MXpJbGkrVXNHRDZKK29NUUh4bXJuRktaaGx2bXdZMXhkK29QYStjYzVq?= =?utf-8?B?RmxENEpka1FMR09qbGI2YjcwV1podkdJcDhPck5rWnVJZ0RycUV6ckp6YXFZ?= =?utf-8?B?RHhHR2s1eG1FTlVDalpuOGF1Q1htYlVBcmMxc1RRa0FOZ2dJNitkQXY4cXgy?= =?utf-8?B?czJ6WFRyZHhtSlZWNFA2V0ovVC9pUFVYTW5rdVlPeXBNWGZqd0dTejN4YWZH?= =?utf-8?B?NzJ2RnZHWWhNKy9tYlIvZkVGcFR4OVFqZE0rTitDY0k5SDQzZkRZTUkxaEhy?= =?utf-8?B?UUhveGV6UGNaUUcvZEVFWExlYk1YeG1CUlFRVlFYTkUxRG5wTGJ6RVg0eXds?= =?utf-8?B?aE8xaEUvWkJkVUU4MGxGeDRoRzZLbHB1ZWpOQ0xxNEFzazdmQ3AyN2Erckt4?= =?utf-8?B?U1FjSDdtS2FDK1JxNElFdm5YQkc0bkl2VDNiUXBEK3ZPOUllZ3RtUzBiY24r?= =?utf-8?B?RmM0bTZFK09kNEU3TjRabHdYa3FyeUFtWUNaS1VWcjhHMGJnMUJxSGVwMld4?= =?utf-8?B?Y3Q5dzhnVW5pckVsWFdrQXUyUE1mMy9pbkRGKzhNTThKamo4dENZenR1US9R?= =?utf-8?B?bEdpUmJjU3NWbFFHb2xFeHJmd0lHSnZzdG81cTNrYUx4U1M0LzF3UXB2bkJO?= =?utf-8?B?ellFcHBVSEFpYnpKbnVZRDI5UjMwUW44UHZQLzJkR2hDNmZGZHNjQmlQOWlO?= =?utf-8?B?cFlXUEl0cnFjOWZQRzZiUzI5TkVGWVRKR3V3clNvaWhvTkJGV2lkakIvYU4y?= =?utf-8?B?a213TWhBVlFUbUpYeUlrb1BVaXFTZVQyT2pIYnRRMW5jaDVoR1BTTFhPd0Z4?= =?utf-8?B?dU02ZlJKTjNDZkVpZUJoYzIwdGlFOXptUE9pSkVLOVcxNzNjQmFBMmpsVkto?= =?utf-8?B?Wm1rRHM0eWdGRXZhS0RHbDJ1bjN2bTZCNG05ais0TmZOellOMjdoV0JDaW5I?= =?utf-8?B?dEd1TDZjSlNuQnR4aXBNQzFxZVRzR0ZlUytSbG9tVEpvc0FvT05IVEhFZENC?= =?utf-8?B?bUY2VU1ROFEvQXAweE5DSXF2dWxYRThZcEY5R3Q2TVIvN1lETDV5MHEzYTdq?= =?utf-8?B?ZkpLblBOdVd6OE15eUFTcXNUYTZZRjlsYlBoN25yUDBCQkwxQmEwZURlT2tr?= =?utf-8?B?eU9kb2RnbXd3ZVB1RlZwYjZCMlpaQTNiQVhOdHI0MU85ekhObkV3WTUvRG8w?= =?utf-8?B?MW1tN0lvUWlObmFQYlJ0RHhsSnpBPT0=?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84a8df26-7ba0-41b7-cb45-08dc48cc381e X-MS-Exchange-CrossTenant-AuthSource: DU0PR08MB9003.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2024 10:55:13.4604 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: X2jDTyb6Kg68EY1LfgnFNhgHWuMmBeFR52AxAErQnENLIhm2VH407t9fyUgxX69/m7DEjyQlRkdyrEYwnVPICKXR1B2kL+B7zWVRH3pZjlA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7525 X-Rspamd-Queue-Id: 884902000A X-Rspam-User: X-Stat-Signature: q3i1sg65hwg3y1r6r7tw6n1b1h65gmda X-Rspamd-Server: rspam01 X-HE-Tag: 1710932120-718640 X-HE-Meta: U2FsdGVkX1+QzEKSnpmGyft/6i744xaWLLI3G0PWNOpE2qt6vIbeUbJWlwyMAXibzmC6OHA51inXgM6adL+hp3Wkyaecz04KaDQ3SpQdHifyZ8l3sT1RfifHYah+70gGfRxo7y/ZD9IG3Um6fA9TKZlyri3xT6F00x+sUy0p+9yMjVIVfJieQfvXxxp+TXMPIBfJF2GZsL9Gq3UWuZRC2du1isZZAMeSfEjH0HKN63EsMI6XIHUIRLf4s6gbTy/WNbtwfFGEgJCgG8iacXtKbG+RNb7jJpOmxXj4FxIJAJ4aChqKX0jAmGH8UWWHVKXx/rBpv2BEw0LrAZiU8mXlYFF2hkupQ1AyyFQ+xXFVb38Yr4NsdbR02IRkCJjOOD5YCA4SZPRd9mLMQwnm/bjwL8ltbXFYhx7dHaW85+6QsB6CPOXHSgNMDbbCmniqAmBYFhx0tfoJmxcwGfHFb+Is3F8xLH18GScSR5aWsN6hIrbnMNwqgsMtAr1hZKa4D7u9P2ErdNqBa/NYifiqCFToUM08N0g8+BSNk4I/MArkF8r21dGwP8UCRIDU7zrvAQfPAGC6EC3RZ87y7ckzILH2e03RwHVeXmAbmgl50DPHs5kn27iegPElKygxPdDn823jPZwzPn335Ku6fny33+sBXh7tcpFBzASY/IrTAJejjDPE3ve6rLRN+xqi3fmAtU2pR5gipNSwBUNwFdHGBmfmE11ydmDIu4I2cvjfMmOxbwFJAyMhkrR8OXwtZySxTAEIK5KwKgJlC/oiMStP7ysQ98PSTP6LzguQQ0A9zzQImvwoBlmDWYhf6DgkLoIPO8bfF9JSgOmBqp1Bvw4r9uSWCKnwzhzQtXmF1R9gbboNnk4iNMnZfwb0SuIpunvrJtMde8wfos5ceMldzUgzsQbraSnbaB60gEbLEgpcdi96IABlBlaRldI5K0axIMRjn0Rfaq/J5Cz9b2Yhe6mRtql fT+JgyN2 WgPo9Z1gJ1lHOb+LviKJrm+ZD4zTGudY80K7yVXIH5Kj9bevc+KU42S6t8Ct4uAu+vhre/9cD81VtteisZ9Z+/w+NbFZ0f6xUieqPOXvC9PDt0tWwoSXT673z2J+MyzoMzG9ly2+P7NnhGD+LC1asi+uFa2Vu6zMxRTTfG/GRUWJJ5YqU5KF45x1YjUpNdTVQ/UknzUWGHhbksrAxu1RF6aZG53lnMm8S1t7lDMTA6xlKHCUSw3W9SN8Gl/b04DvvVR5JoPokaXgZOw61gVoVL9QYpbLiKqFy/alB+evTR3nYy66m9lGE+wsnakd+j3g1MSovdM2qhgHJWGVKpsr12/THHC8Paaj5RRbtV0V8z7OCMKHfNuZpsMNAXoPAUdH0JJ28B07ZNcJaIB8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 20/03/2024 18:28, Michal Hocko wrote: > On Wed 20-03-24 18:03:30, Pavel Tikhomirov wrote: >> In memory_max_write() we first set memcg->memory.max and only then >> try to enforce it in loop. What if while we are in loop someone else >> have changed memcg->memory.max but we are still trying to enforce >> the old value? I believe this can lead to nasty consequence like getting >> an oom on perfectly fine cgroup within it's limits or excess reclaim. > > I would argue that uncoordinated hard limit configuration can cause > problems on their own. Sorry, didn't know that. > Beside how is this any different from changing > the high limit while we are inside the reclaim loop? I believe reclaim loop rereads limits on each iteration, e.g. in reclaim_high(), so it should always be enforcing the right limit. > >> We also have exactly the same thing in memory_high_write(). >> >> So let's stop enforcing old limits if we already have a new ones. > > I do see any reasons why this would be harmful I just do not see why > this is a real thing or why the new behavior is any better for racing > updaters as those are not deterministic anyway. If you have any actual > usecase then more details would really help to justify this change. > > The existing behavior makes some sense as it enforces the given limit > deterministically. I don't have any actual problem, usecase or reproduce at hand, I only see a potential problem: Let's imagine that: a) We set cgroup max limit to some small value, memory_max_write updates memcg->memory.max and starts spinning in loop as it wants to reclaim some memory which does not fit in new limit. b) We don't need small limit anymore and we raise the limit to a big value, but memory_max_write() from (a) is still spinning. And if we are lucky enough and processes of cgroup are constantly consuming memory, to compensate effect from memory_max_write() from (a), so that it will continue spinning there forever. Yes it is not that bad, because memory_max/high_write() also constantly checks for pending signals in loop so they won't actually get irreversibly stuck. But I just thought it was worth fixing. > >> Signed-off-by: Pavel Tikhomirov >> --- >> mm/memcontrol.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/mm/memcontrol.c b/mm/memcontrol.c >> index 61932c9215e7..81b303728491 100644 >> --- a/mm/memcontrol.c >> +++ b/mm/memcontrol.c >> @@ -6769,6 +6769,9 @@ static ssize_t memory_high_write(struct kernfs_open_file *of, >> unsigned long nr_pages = page_counter_read(&memcg->memory); >> unsigned long reclaimed; >> >> + if (memcg->memory.high != high) >> + break; >> + >> if (nr_pages <= high) >> break; >> >> @@ -6817,6 +6820,9 @@ static ssize_t memory_max_write(struct kernfs_open_file *of, >> for (;;) { >> unsigned long nr_pages = page_counter_read(&memcg->memory); >> >> + if (memcg->memory.max != max) >> + break; >> + >> if (nr_pages <= max) >> break; >> >> -- >> 2.43.0 > -- Best regards, Tikhomirov Pavel Senior Software Developer, Virtuozzo.