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 7D075C3ABA9 for ; Fri, 2 May 2025 00:18:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4A4F76B00A2; Thu, 1 May 2025 20:18:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 42DF16B00A4; Thu, 1 May 2025 20:18:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2CE316B00A6; Thu, 1 May 2025 20:18:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0BC3F6B00A2 for ; Thu, 1 May 2025 20:18:04 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 1499FC16CF for ; Fri, 2 May 2025 00:18:05 +0000 (UTC) X-FDA: 83396055330.11.CF4475C Received: from out-188.mta1.migadu.com (out-188.mta1.migadu.com [95.215.58.188]) by imf25.hostedemail.com (Postfix) with ESMTP id 482FCA000C for ; Fri, 2 May 2025 00:18:03 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=D8tt3RXU; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf25.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.188 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746145083; a=rsa-sha256; cv=none; b=hK2CEX2t7Ipsc6ZMCZnJt07hbewfihmfzuRjLF8fdRxKlYe4i6ahhN3hxVNLyFKZ5xxJGp 5/xT2jg7uCwFiUQq6wUcxdiSZjdrjzJw0Fjff6smFZD6mAs0xTPc8phzxseEjZgvMHXt6E 6vvNzUZezIvoaMe8AZ9locDyfQRzVvs= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=D8tt3RXU; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf25.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.188 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746145083; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=FAQQHMseiTFfB73eqU9yeUG42Iz5JnWxEBkUeFyyRhs=; b=HfbBNKP4jJwGsW3zwCn6VPF0ZkX3VMHgfKk121jfJCS7wuANh2DAW5r+a7c3koIR6jYVNC zVyimWSmb8WxrDXSfWbmTm5rmsqxql0DIGbcdOEDoErnhk72krAZHyMGPBHGyP2saZma3F tDZ2/LnEd0YLEW7w+MiocDMLCNBkqQ0= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1746145081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=FAQQHMseiTFfB73eqU9yeUG42Iz5JnWxEBkUeFyyRhs=; b=D8tt3RXUQ8nh+AvmKFaVtfB8LLsU/KucHvhWR/6JdnA9RGI+k7bI+ghFCtFuO4SU5kueaI YmVJBOLxIf5nbTqCAgYjbXvwCBu2/AT5v+Z8cKmAAG+CYi0S+/P9ujlNNicbhznV9FwTJm I5+Z1oYoYcdDmDOcc/Kz0R0zwTDFbRQ= From: Shakeel Butt To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Alexei Starovoitov , linux-mm@kvack.org, cgroups@vger.kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: [PATCH v2 0/3] memcg: decouple memcg and objcg stocks Date: Thu, 1 May 2025 17:17:39 -0700 Message-ID: <20250502001742.3087558-1-shakeel.butt@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 482FCA000C X-Stat-Signature: urxgh1rtitjb5juxrpy11s87jxt6m96f X-Rspam-User: X-HE-Tag: 1746145083-793147 X-HE-Meta: U2FsdGVkX187kzf9z2DFRohKQfIvNu9QiU+D7CUuS72M+VICIZ71MRcK9So1CdDdPXDVR6j3SFdCDlLx9Az1avweyKnfRXI5t+/irGKEo6doZRc/0KjcH66pkgUO/2hE/A06TnPlVpdin1euQyeW7lpdVlcO8paS4x6Lz1Pgm+iW/YJkijZcpSuJiomNvqStyY+0nTQpnaImZSTlzM5dPct2X91ebYMR8VEU2nLoZf6JeOX+VO9bq2sD5w9gB+uX4Ua5AShQc4qHJZqmpOhKElaP0yHQd6oBc1piq3vfRwc/aWg9Pl28bAxww2KuDcy1Qz7lPmzZWQV4ORYlSTnjTlzFVdHhlCrz536FWTQMCiLrI2kILy2YGjuc1NnXqo5P553fQja03t5he0AX+YKL2KJVndqP0WtRDQ4dakLku3Hp3fxz6MJcKxt60POYTdpoHTAaNajWENN1xDkB2uiBZZtVfqePgU+64g8+0Sv+ehCF/twFsNkPkyufON3MMUZb/522405jzJ+VcXoSDeOvjWee0tOWzC+JSRZ/TFQjEMEcK3wFIgrBGCPuMhNywWsfTA61DHh8Rgg/2rLttygrHIyVxS96RokvgwQUmZY1bcDgx36CPNUAIxTh8aaPj7lHEVQxFwUnUGTAm51MwDMdzFbWvmwb4Jz+7RYXq+ORaLaaqJhU104evRcWdXIZ0IA//dG6t0ZhjwwDxZlraRb4qkae8nz3XOIVjkXQay8xq0m5Mg+jA3vAKQyGQfyhNinqkmT3pVg4KZy0cBh+YP7Ar8gvADDIUla1Yj4PotbEI1Ipf1S5u/ASYAnAAxey1Kp+Y8tcLeS7MV32QBqn6tsuaF/FxUPr0Kwnb7CpRf5oeUoR3MG8a6mWC51B9z+/FERX4S5pLqs6SYDHaqRIHbHsEfHdFXenjfnvzFO8RuTB3P005egBsCLE8yDVPt/Ap8bfaWF0Dbhl9HlB+PxhLbz 1kl1MRcL s9EchzTKJv2slX1v8y1gnZttAeiQjlt8KBDQHncZ4JolbE6HkJsDFTa063AB8I8o81fAiFArf178p5kUXyK/MM90d+j+YBbpXVRzo4aCvN1Z8QLxyUsAj+6AKe+Jau7y8odRBmxZVHaAaZEbkYWV/xLN3P0BSXy/haSXDADwiDkpAZiCPVn+1fm/u+BqOFtH0JuHY 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: The per-cpu memcg charge cache and objcg charge cache are coupled in a single struct memcg_stock_pcp and a single local lock is used to protect both of the caches. This makes memcg charging and objcg charging nmi safe challenging. Decoupling memcg and objcg stocks would allow us to make them nmi safe and even work without disabling irqs independently. This series completely decouples memcg and objcg stocks. Changes since v1: - Drop first patch as requested by Alexei. - Remove preempt_disable() usage as suggested by Vlastimil. Shakeel Butt (3): memcg: separate local_trylock for memcg and obj memcg: completely decouple memcg and obj stocks memcg: no irq disable for memcg stock lock mm/memcontrol.c | 159 +++++++++++++++++++++++++++++------------------- 1 file changed, 97 insertions(+), 62 deletions(-) -- 2.47.1