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 1538AC369D3 for ; Tue, 22 Apr 2025 12:19:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F22AA6B000E; Tue, 22 Apr 2025 08:19:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ED3996B0010; Tue, 22 Apr 2025 08:19:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DC05D6B0011; Tue, 22 Apr 2025 08:19:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B8C836B000E for ; Tue, 22 Apr 2025 08:19:55 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 903CCB6D43 for ; Tue, 22 Apr 2025 12:19:55 +0000 (UTC) X-FDA: 83361586350.05.CFC7E3A Received: from out-189.mta0.migadu.com (out-189.mta0.migadu.com [91.218.175.189]) by imf09.hostedemail.com (Postfix) with ESMTP id C4527140004 for ; Tue, 22 Apr 2025 12:19:53 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=SamnuCE5; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf09.hostedemail.com: domain of yosry.ahmed@linux.dev designates 91.218.175.189 as permitted sender) smtp.mailfrom=yosry.ahmed@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745324394; a=rsa-sha256; cv=none; b=b0iKYzo3wfZLDPP976CBSLDnicbyFcOpfD0w8sz7pAUhdwsVJOg+lRbMjMikYh5NHfccQe jWe+SCPsS7v/otBrdHvTyV8s1UsM7lAQXiXWrLaBgxfjivu3eCrd/WJPOSMSWblLV2NT+u hUla0+pZBjFEHNScUdA7CKE/OCzCNlg= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=SamnuCE5; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf09.hostedemail.com: domain of yosry.ahmed@linux.dev designates 91.218.175.189 as permitted sender) smtp.mailfrom=yosry.ahmed@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745324394; 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=AZN/S6ZEB/OJYdPCK1ALmUFr/Qw2WKTr4CjCWyb5ueo=; b=tCXeubiib2Tv64MtX/v6jf5WxyxG83b/rmP0NMwfvdrluqgcQBfenA1DrFDsq+fx+Qf+BS gpIOwdDJHfb9vZwP1ZDm2TjCDMytjvnnGynGP/z7STDmoM37o49/+xga3kgiVZO+oIdISb mqCTU/KvOGrVyhyYJx1WUj1KxbR5za4= Date: Tue, 22 Apr 2025 05:19:48 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745324391; 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=AZN/S6ZEB/OJYdPCK1ALmUFr/Qw2WKTr4CjCWyb5ueo=; b=SamnuCE5AuaQnwULf2yCoQOuPi5KT+58AIilu9BDwGpQgfJ8of6sSMt63BbR2mOP8hwKlP oikgToX4eQLP2r6vfizd/ix9guTNj2D4w2Ywf22405kpgqgJFvyHHrL336FlwpzJdjxgB9 NvqGw1nr3R7kyNpuU09WrxwIXnruKuw= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Yosry Ahmed To: JP Kobryn Cc: tj@kernel.org, shakeel.butt@linux.dev, 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 2/5] cgroup: add helper for checking when css is cgroup::self Message-ID: References: <20250404011050.121777-1-inwardvessel@gmail.com> <20250404011050.121777-3-inwardvessel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250404011050.121777-3-inwardvessel@gmail.com> X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: C4527140004 X-Stat-Signature: hb6cigtogo6bfzmhtjd6d8w1qpcqaggh X-HE-Tag: 1745324393-305643 X-HE-Meta: U2FsdGVkX19MaPgvMj9OzWoyA5wW962Xk7JV6H5iwXwyUgazrxypKbrClaihzK3ewZE8cu1nCi4Lo2CYUr2N4NFrzy96qYQTsszYJHcabjcB8GDQe2NZe4gdCowHNPVkQWJw9LdDRoIXZtTMfntykYP9R46uimCdEuOaDlcsW+FVYgHIGzx41vL9eFRXnnHDOJb/Yec2fwsep9Do6+3QBisjZF2yDxoj4WcFOvwf4pxz2URPboyMQGHZ9D//MyaEhBBaeko5liS2lseu1g8+ej/7hrg0MW4CIVGQbsBCJsXmB5I2VDQee6xv7AFVR0gOVMKcRs8ax+AIQFK7T/3ZN+TWa1f4gVqpKfcZefyDKwy1RvaqTW4U6DvxJmBN6kCaes1cxt9xLa7DB34FIpmmswpr0iqIcJIh1EJhC5BPywQyiQ3kQB6AXlw5XIE6TN1E8yaWJUaY1XdjjCj3Oyv2o6ExxR8eZRqoBmzyvtP1bSkXxgmbmbHNy2Z0ByEpEWCuZLnD7ppgGOaKQ5N4f8jZc3+7SY0xpWga0y5SpJhuHKU91yi20cqVfLnzdmbogBeDlfRzN2BJlKq2ifd6gDD9wT4pOsrcD2iiQ3cYehJ2D/s6i+NiqJI2UrY04rTV5NIfISaaxj0YSj0Mu+xr+LG6ZtN2BO5ra+IlCopZ65T8wE4OvU6LMc8sEf7QHA72GDPfG6a4qiotgbvs7Kg32Y9nl7+acWLklqUeIL2f/BX71feX8j13ndnffElQle0+aNPsX+Meut9ibnCvwcZtks54IRXCurdXhJc3b9SmLZIjmpI8+wfHf0rGKeKs49ZBXSsnX562oNSPlgeVSaJ2y1QGLnALW4+2/W3rSU+hO+ovSp7EkfSUXtCk86I9oOLHaHDtz9DobhreRRjrnHUJn0ExgIhm/6FjfTpEeUYiomBZyGBt4AFGOWlwdJiv8zoUq9TX1xnlhJttKx6lXVkgUDL I0kX4uGr fChC1cpeleLLw/h2mFlanwjtivmcpJmJAsDdTYLf6dMC7NE5JwGglj6nM+ptS+/ocu4JxwzhNZNIb5Po2VODXCqAswnUK/tLcPCrRr9ngyR3WPVj52g3mptsu9TlZKFPJCCOtY2BY7Fd56hhgVwWetrELbJ9YfVsryDpz3djx6lBeISUITR/JvwFPATJQ5NeLhBc8wnucF8SaKXI= 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 Thu, Apr 03, 2025 at 06:10:47PM -0700, JP Kobryn wrote: > The cgroup struct has a css field called "self". The main difference > between this css and the others found in the cgroup::subsys array is that > cgroup::self has a NULL subsystem pointer. There are several places where > checks are performed to determine whether the css in question is > cgroup::self or not. Instead of accessing css->ss directly, introduce a > helper function that shows the intent and use where applicable. > > Signed-off-by: JP Kobryn > --- > include/linux/cgroup.h | 5 +++++ > kernel/cgroup/cgroup.c | 4 ++-- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h > index 28e999f2c642..7c120efd5e49 100644 > --- a/include/linux/cgroup.h > +++ b/include/linux/cgroup.h > @@ -347,6 +347,11 @@ static inline bool css_is_dying(struct cgroup_subsys_state *css) > return !(css->flags & CSS_NO_REF) && percpu_ref_is_dying(&css->refcnt); > } > > +static inline bool css_is_cgroup(struct cgroup_subsys_state *css) I think css_is_self() or css_is_cgroup_self() may be clearer given that we are basically checking if css is the same as css->cgroup->self. As I write this out, I am wondering why don't we check css == css->cgroup->self instead (and perhaps add a WARN to make sure css->ss is NULL as expected)? This seems clearer to me unless I am missing something. > +{ > + return css->ss == NULL; > +} > + > static inline void cgroup_get(struct cgroup *cgrp) > { > css_get(&cgrp->self); > diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c > index 77349d07b117..00eb882dc6e7 100644 > --- a/kernel/cgroup/cgroup.c > +++ b/kernel/cgroup/cgroup.c > @@ -1719,7 +1719,7 @@ static void css_clear_dir(struct cgroup_subsys_state *css) > > css->flags &= ~CSS_VISIBLE; > > - if (!css->ss) { > + if (css_is_cgroup(css)) { > if (cgroup_on_dfl(cgrp)) { > cgroup_addrm_files(css, cgrp, > cgroup_base_files, false); > @@ -1751,7 +1751,7 @@ static int css_populate_dir(struct cgroup_subsys_state *css) > if (css->flags & CSS_VISIBLE) > return 0; > > - if (!css->ss) { > + if (css_is_cgroup(css)) { > if (cgroup_on_dfl(cgrp)) { > ret = cgroup_addrm_files(css, cgrp, > cgroup_base_files, true); > -- > 2.47.1 > >