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 F3249C3ABCB for ; Tue, 13 May 2025 03:13:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E22886B000A; Mon, 12 May 2025 23:13:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DD3186B0083; Mon, 12 May 2025 23:13:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C97616B0085; Mon, 12 May 2025 23:13:40 -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 A9F076B000A for ; Mon, 12 May 2025 23:13:40 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 810CF580AA for ; Tue, 13 May 2025 03:13:41 +0000 (UTC) X-FDA: 83436414642.10.240F57B Received: from out-176.mta1.migadu.com (out-176.mta1.migadu.com [95.215.58.176]) by imf23.hostedemail.com (Postfix) with ESMTP id AC61F14000C for ; Tue, 13 May 2025 03:13:39 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=fsod+VEy; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf23.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.176 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=1747106020; 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=GXTE4pS6BF9sV5mPeyf6QZn/p+H6nbjslyn4BcRhdGI=; b=u1T+6C+qlttRQZvP99VCe6cTnzIYVGNWHDeUH5v2ED8V2ydhN5l6YC49dT4u3le/10U5Wu tA3tM789B9RFCNzyXXUtMURmhZ+G6tRNyQeU0HXgfGE9hgY5Fs7rAshw+JWt3t0ip7Yi3F usvwTPioDeJ9BouBLYbVqQRt1XHmEqw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747106020; a=rsa-sha256; cv=none; b=wuRu7+o3NjRokUwAk57FaaI7b6pwM7vVTuv9VGgavVThrd5bdEP13aeo2BTKDgpC56cjxO Ld4pgQNyZABAUmUx2jFxawK0RPzRjzFJruLZ3B3rEoeZhh+xCQb1cavAWbSSDYys0TBKTX JVl+qxT2qeJKeJDK8qIGlSIWBSDUADs= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=fsod+VEy; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf23.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.176 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev 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=1747106017; 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=GXTE4pS6BF9sV5mPeyf6QZn/p+H6nbjslyn4BcRhdGI=; b=fsod+VEy1I0JSZeB2v3fX4N8+mvOIpWzAisX09rwYZcupI5wDatBPi9QzhMWInGbcyHpHO CS0cfnbsycQTdfk59F+1eFzWVlNLP7nRQsbrG0KlOt3lydbnsuHyhd+GRbi+2U0qk1Yvrc hQ5fF4K0jPNU/7gD+PHZYJ4z8DHXXis= 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: [RFC PATCH 0/7] memcg: make memcg stats irq safe Date: Mon, 12 May 2025 20:13:09 -0700 Message-ID: <20250513031316.2147548-1-shakeel.butt@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Stat-Signature: ccre8py37bohu97z3zdafkntc1sbi8yp X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: AC61F14000C X-HE-Tag: 1747106019-225926 X-HE-Meta: U2FsdGVkX1/e9g35qrkbKQoNt0yefA0pJxAGoYu+ij8s+qpjLFCWqOw5efaWvbiDPFZhnMWZGbtoMuLGMy+DS0+3/uFWv+Rg6ZiFrbi2LrJajc4Xl7FcoMEh5VxtaqNjmLQoSFN4BzkUdOUnkMbuLcQ3ihsPYP6RVr7mjj/Gmh+uiSb9ILjQyCocQkLGRb+VaRVplLc0DUn88a3z93Kf7bbdbHthEUTzOIUwNJZzOQWOfOK/uc/khMtJGrURxMgMY0y7UbaAVFzUb4ZqmMIKqPY2SqplLAbbq/27hu2Dnrwn/MfRarwBjov5f9/iilUg4CMDU/lZiSgVlyQwRYa62f3A+0yKIZlzK3U0RBm7Y3hDrf2YHQEmA0yg6TFH0Jg8DQJhC3QV4CBinecwT/M1ef8SSKWcl4R4DYiJKReUd0/rxT9dKtDU3jHsqXW6XqKdYNxrMT6R75JTMFoGnD44Natm0dQHAFq7h+a4TAbU+qD4MDGdctTM9Y4prwKhsueoTgFP5PcXEk8s9qz5G/wKdZH+z1dRlbMDlbcx5s9bHYOnXWznvEeYYe4rTqsn9CS2AxQrWMYQwc9l5ghzbtYkTm08YeiE9Ec6e6EXvYsdhY6VDUnfMPgI+H7rCzpQxtCh8zHClSGdlVekpU4/6r7iYdITY7TGmrHtw0zSW60MSd6cVo3pdH4fxxOQkD7OWdxzEQ2cLvP/Uq4l9OUT4BCMj5yIbjJ5qx6yekGcIcpErHcsIVfROyrl4KZ5u/7znQe8fhzkMOiaYEYNv5lPEY8EcpL28azIGPdY3EAUJKs5FV2lRKkmNFkDl1jfdwwWQWfMZoG2zF60ldvV60ZRra5q1IVCdPJt3feRj1TFbD1AyhSSKZ7Qow92lfBPHtk6ZAmojAXupvQZfHEg0WIRZlbOd0UoxAUcR4bA6zW6xu9oa29ZrUpXdE2zKWDTU3JCgMrq1Yny1LCNYiabLegqYK3 +h9Twga5 1A2IUH+dFFpg28vGgAkdD/nk01C0CePpfLCYTimIlbJ7eN2EZ9HpSwIzthtvXVa8RzgB+v5RmIi24kG+27wPd7eWc52lRezPGelEfijMU3K1UiiIq1wLjKJy/2hrkv1piMe7jq4kNne9ZKTpIzd//X1IjyQq0C4uYLIIQnrkcolwEkQ2/AHx2MTbTqI+FCtIESO3n 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 an RFC as I am not satisfied with the usage of atomic_* ops in memcg_rstat_updated(). Second I still need to run performance benchmarks (any suggestions/recommendations would be appreciated). Sending this out early to get feedback. This is based on latest mm-everything branch along with the nmi-safe memcg series [1]. Link: http://lore.kernel.org/20250509232859.657525-1-shakeel.butt@linux.dev 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: objcg stock trylock without irq disabling memcg: no stock lock for cpu hot-unplug include/linux/memcontrol.h | 41 +-------- mm/memcontrol-v1.c | 6 +- mm/memcontrol.c | 167 +++++++++++++++---------------------- mm/swap.c | 8 +- mm/vmscan.c | 14 ++-- 5 files changed, 85 insertions(+), 151 deletions(-) -- 2.47.1