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 BDF6CC369AB for ; Thu, 24 Apr 2025 17:26:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 138656B00C1; Thu, 24 Apr 2025 13:26:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C0A86B00CF; Thu, 24 Apr 2025 13:26:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E7A816B00D0; Thu, 24 Apr 2025 13:26:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id C852B6B00C1 for ; Thu, 24 Apr 2025 13:26:20 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 96FC0141537 for ; Thu, 24 Apr 2025 17:26:21 +0000 (UTC) X-FDA: 83369616162.21.B3A9590 Received: from out-174.mta1.migadu.com (out-174.mta1.migadu.com [95.215.58.174]) by imf25.hostedemail.com (Postfix) with ESMTP id AE5FBA001D for ; Thu, 24 Apr 2025 17:26:19 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=ii4phgbW; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf25.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.174 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745515580; a=rsa-sha256; cv=none; b=vois1/UKG0iI0PnGanbGHUrGbgO+agafJ47KSRdHgr+2w2iBdqs3vazI2ynmx+sGMm6+xX VNnlSr4niKg5KB2WKTfQqokWaG9IYrj7u0XC7x/egSojvWFSyT/PhfdjFO6NYC7qxQjSeG KXfinihqWSOD01TV0OPNzvrxy79tIP0= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=ii4phgbW; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf25.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.174 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=1745515580; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7xJ9WUYihmTXo0ZQIFwyCaqG4SKLzPmFojL24n+qwaQ=; b=0faNApE1Cy1DN8uAbBLXUs9S1hrxPU+VYV6nSZqr/OoWFblZRe1ydrFntVRcGIj9GkQzFK K20UcikiOUy2IFiKE570vCYnOEmm4jiCCBpKOGNJLXZcVAqIKPmAacjwv65Vi61sgyEbkP 0qSjO93P4Faj5eXpYwTU+5NktGIu/ys= Date: Thu, 24 Apr 2025 10:25:28 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745515577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7xJ9WUYihmTXo0ZQIFwyCaqG4SKLzPmFojL24n+qwaQ=; b=ii4phgbWi9Ka9Bul3Wye5lo9mg+DhFPL1e87BvNHplNKIKvEa1ulVL+SI07IyAfKbzaqmd ZVtLRGSZZbpQqlDAqISCIea2BJT8+Oe6lsC7hxcw5mbeu30YyTgEbkfAEHJ58MDru9fEOJ XmSt4FkS7im83EG8KOagV5x5ZVmrWIQ= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Yosry Ahmed Cc: JP Kobryn , tj@kernel.org, yosryahmed@google.com, mkoutny@suse.com, hannes@cmpxchg.org, akpm@linux-foundation.org, linux-mm@kvack.org, cgroups@vger.kernel.org, kernel-team@meta.com Subject: Re: [PATCH v4 5/5] cgroup: use subsystem-specific rstat locks to avoid contention Message-ID: <35xkwotuqyfj3xlahh2knxjew7f3mxfugmgtfahy4tx4m2ovlp@4rfb3i46iqy2> References: <20250404011050.121777-1-inwardvessel@gmail.com> <20250404011050.121777-6-inwardvessel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: AE5FBA001D X-Stat-Signature: ts7u1edxat99scarw9tfnou5jyyhfwa7 X-Rspam-User: X-HE-Tag: 1745515579-741949 X-HE-Meta: U2FsdGVkX19vmbAaobhvuTwaGKbK3r+WWtvMPr89OlYh6dfPWw5XeVnW1+fYSUeWKYQyvrBjjp92sWsepp5+DMDVrZLgV/0sAesJKoqGm4sCdbc0BADlGGqAlXTlcDJwiffcJeVh7L0eqjMW3bJIl2WjNv2v577+fu+QauosHX9Gub2ZMeYo2d7+b/rno60dCCEWj8Vkw880hCLraCzuCV+F5hL3LDkKYripKVXcN77kgLCdp4AZOfEt2ukCJgMKBJbjGP4gUU+25gzYcumuoqUGmsYE3o5ioX1/ogTdPFFSfpgE9Krh5kEMavTHiRFP/Eu8Okk7+ZftdyzHAik9g/jmJ/iTUWPF6P+g1+/MAA2xeMdYmQI/6wQNKB3hVJ8RcRjtDE+kM4OO1HKNxhXdXvnH6FT5RxALteZ97gXwh/g2uJHOu6daNTN+hGIfZKF5hLco4U1nTEOWh897qukHZXVMxHRUWoQSLy9bz40/2kW8k5/Nz+FI+41Hq5t/nFHF/Vu2GgYb3Z/872Vocr7CWlT5g1gg5546Quz3HkSjsOTbPAYTOby3FJ0kFRhAsuLDobFkQ6nBTz9/fiJnD5nfu7Y8gd1xiTomnGw6iTSrDj/TlyZbKt7tLR3S4TBAT1XTxOxA4k1PRpzCkOU26z0qyGBtNmKYB83uWanjMZNiqZxj+w+DkswWIv9hc3Tt1Glkzo5Tpz5rvXCPQnrqZbsWJSeRJQ+ImcBB0hR6LzjMSh0EI77RCiVUfJ9p3VozZGCAvLHSOtQ0sXadXwGovew6ODXvNadqg6wN8gRaXj1HfsW+XFZPcU0Xo7EVAyYpgZ19r53RgyKgPsGe90YuYbJ/QjeuNCa5NgwI10a1Y9bVYGnGzSOku79BBl/dRlrvukWLbrTI4dF5NTBYeUTEyKHsbk+LYTV/0yIFy0UhFppqyWzHKbvaqBp3n76BnUsaEUO0mqWydzZzRP3mB7QGX4d 5FTUTFV1 GV45SdHCf+PJN6JXNUUpj3/w4xXaFaTx8ABkTiicEpBlika2HOPW6Oq5sGXNfi1xS9vDdwOQhjQVD4VcySoBn20cLrmQ/VyZ+zpWHgy718kTMzyDHsKiwOU1MeODgyDDZ5kbeNXmjMA7cPEBF8+NmIlYxDwvKuqHHa7/sol7pQi0EBRGH2jaB2SiJrA== 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 Tue, Apr 22, 2025 at 07:01:15AM -0700, Yosry Ahmed wrote: > > struct cgroup_subsys_state *updated_next; /* NULL iff not on the list */ > > @@ -793,6 +796,9 @@ struct cgroup_subsys { > > * specifies the mask of subsystems that this one depends on. > > */ > > unsigned int depends_on; > > + > > + spinlock_t rstat_ss_lock; > > + raw_spinlock_t __percpu *rstat_ss_cpu_lock; > > Can we use local_lock_t here instead? I guess it would be annoying > because we won't be able to have common code for locking/unlocking. It's > annoying because the local lock is a spinlock under the hood for non-RT > kernels anyway.. > local_lock_t are spinlocks for RT kernels and just preempt_disable() for non-RT kernels. Orthogonally I am exploring making memcg stats nmi safe for bpf stuff and may look into making cgroup_rstat_updated() nmi safe as well (which would require exploring local_trylock_t here).