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 A178BC3ABDA for ; Wed, 14 May 2025 18:42:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 446F56B0083; Wed, 14 May 2025 14:42:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3CEF56B0085; Wed, 14 May 2025 14:42:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 296E36B0088; Wed, 14 May 2025 14:42:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 0B0476B0083 for ; Wed, 14 May 2025 14:42:19 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 546EE1D046F for ; Wed, 14 May 2025 18:42:19 +0000 (UTC) X-FDA: 83442383598.11.087441B Received: from out-172.mta1.migadu.com (out-172.mta1.migadu.com [95.215.58.172]) by imf11.hostedemail.com (Postfix) with ESMTP id 7FF4240002 for ; Wed, 14 May 2025 18:42:17 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=P8wGW7MJ; spf=pass (imf11.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.172 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747248137; a=rsa-sha256; cv=none; b=6Ouhfi5Psc2Zkq0PzAzYZgZ0COZpaI1cE0B8oKQZ9bSe5BPLYSuA0SFMWsLH8kvXu3mZqb rG/GAr2SoK9U3JRRMuyk1YanV0d2kV5PiHlsfXmgIKGdwduwWqaPS+ac837RJMH0rIf9Cg 1ciQwcxBiA71u3VT+MkaMK38rhQy3Tw= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=P8wGW7MJ; spf=pass (imf11.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.172 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747248137; 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=YEf1BORBOsBfo/7P9FA9WA9o/wcYctYmHhlHLcMB2F8=; b=MLCd5V25A4J4ciZivhuGofsas2r5u5s68ZP/dHwNdN5HLRtjFeCHBNEHiUZGlTwmphqh50 TRBURL7+WgHA/72D5jVye3wuwH2DBwQ4IJnqvoRrLs+YTuknoCVedvziPL4j27TGlXy3BF YYt1gK4ONBbPWLZ7pKmbfZeuOtHiNu4= 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=1747248134; 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=YEf1BORBOsBfo/7P9FA9WA9o/wcYctYmHhlHLcMB2F8=; b=P8wGW7MJnEsuLTwzuaIdy5oghtUCutOUk7BEW93Dp+0lHf1rTbBInjISZQqBj6qTjL32AF uRgwwPtFy+qSahTFpwam6wMOGvzpZRcebdeTC5YyqJ5mv2uNhe6xUKmbw9OUKRs9wDzd/y nl1MyifIpr2ZSWRbhhgNdUVofCVyA8M= From: Shakeel Butt To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Vlastimil Babka , Alexei Starovoitov , Sebastian Andrzej Siewior , Harry Yoo , Yosry Ahmed , bpf@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: [PATCH v2 0/7] memcg: make memcg stats irq safe Date: Wed, 14 May 2025 11:41:51 -0700 Message-ID: <20250514184158.3471331-1-shakeel.butt@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 7FF4240002 X-Stat-Signature: mqe3qdx1qmbbcs6kftwpiyapa37jmro6 X-HE-Tag: 1747248137-348664 X-HE-Meta: U2FsdGVkX1/iqtcBo210zNEDmnDRXjZT4ytLiAH8ITozPo8nLuJfgsjv8pdYn2mghf7IwiecPZ9ekC3XP1ElPxHOAr/QhcIYQhBEKv4SDycDAIGCP0rEQDe9BZBWHB6OUEFVj/IUPB3eklX/5Qz0Jd9/CaE7QKlWfaDAk43q+oezAQPZvOp5jto0w9fISLp//DFLg3iEB0wSWig4ldwvxdNNukv2wvm8NpLXONchPM9wHuJKGKtk1IMPo53yFgIFI7BeYv537mk97YixXk/o62lxM39h+Zo+LkXeOANj0MGocu7zudxOxKFvoZ/GwUHvpuBeXPKlgjKLolhsKm4WBYSm0KjUWSBWhqUXVVQ3uL1xx0mCXFI20ga7a9zf28Jj4z/cOJI1X+EtFNl8hAeQvSRoiOZ146Us1EHqEW7n0+dTlvGTJ3SShdosozhL+SzbIj5HLsSHQrSBCtV8pWl0UCm/M9pAv0ekUrpsagLX2i1iYYM8ta63rAtZKWL3F7H9GoYDWt+r9WpgV5BKQ0ZUfOXlDdSDZE7ILR8dJQoJ2LrsR/WgaTi+uQlPgF004cu3yclmRLyNq2XhAC9VL92moesdFd6mvzGIuz0vfKmqYZa7ZFmKhAyihTvYQlzMp7DqaHylT2CIWSfKkXxisbZY07qHGX6gYA0Kui/xUCX724tzG2zXD4RcT7WQM3GWHhDLct68RV56P8AmZsgMlW0nsgY5+wRKUlNK+hr/MdFn1H0nG4HhC7FPlP+x8RL/xTZcH/+DuzPjqjZGV1JvH3ZMcOSvjC13Z4tQPYP2Y/NG/nYUNFDzWaewNMPUk59bUPaGzfIvrSPgKNGmKG1IY9mBohyr9z1YrGdDyTKA1j2s/EdQHDjvCZvJJdqwKWH1RmHcvcs1QDdVw7adjQ4h1nka/nijRPGYaoM+Qd+uS/bfbX2fRlbjXVMOD18xiK38y9f+4CPG6RcEhEaUPFIy61J +DRE7f+j BjB+/FubaczF5k5cL1evMZVL9oD8ZsyrXxk+P0JpS9w33HV08qsChrklzJ8ggowckK/z35eCa3/jDnmbzNJz7F42XPW9d6gwibe/jAmMhoAiIzeo8nWES6rzsbGvHljWy1ZR/jAIU9RyIS5TZZoV/IiKFBw/Gew9ZxHzLBlbIbFIpEmGdK84VmroNkJVYww/k363d 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: This series converts memcg stats to be irq safe i.e. memcg stats can be updated in any context (task, softirq or hardirq) without disabling the irqs. This is still not nmi-safe on all architectures but after this series converting memcg charging and stats nmi-safe will be easier. Changes since v1: ----------------- 1. Rebased on mm-new. 2. Cleanups in first patch as suggested by Vlastimil. Changes since RFC[1]: -------------------- 1. Rebased on next-20250513 (mm tree has some conflicts with cgroup tree). 2. Does not depend of nmi-safe memcg series [2]. 3. Made memcg_rstat_updated re-entrant using this_cpu_* ops as suggested by Vlastimil. 4. Fixes some spelling mistakes as suggested by Vlastimil. 5. Rearranged the 6th and 7th patch as suggested by Vlastimil. Link: http://lore.kernel.org/20250513031316.2147548-1-shakeel.butt@linux.dev [1] Link: http://lore.kernel.org/20250509232859.657525-1-shakeel.butt@linux.dev [2] Shakeel Butt (7): memcg: memcg_rstat_updated re-entrant safe against irqs memcg: move preempt disable to callers of memcg_rstat_updated memcg: make mod_memcg_state re-entrant safe against irqs memcg: make count_memcg_events re-entrant safe against irqs memcg: make __mod_memcg_lruvec_state re-entrant safe against irqs memcg: no stock lock for cpu hot-unplug memcg: objcg stock trylock without irq disabling include/linux/memcontrol.h | 41 +-------- mm/memcontrol-v1.c | 6 +- mm/memcontrol.c | 170 +++++++++++++++---------------------- mm/swap.c | 8 +- mm/vmscan.c | 14 +-- 5 files changed, 86 insertions(+), 153 deletions(-) -- 2.47.1