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 D3463C3ABAA for ; Sat, 3 May 2025 00:12:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 547836B00CE; Fri, 2 May 2025 20:12:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4DA566B00D0; Fri, 2 May 2025 20:12:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 324746B00D1; Fri, 2 May 2025 20:12:44 -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 08B506B00CE for ; Fri, 2 May 2025 20:12:44 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 35CC21209F4 for ; Sat, 3 May 2025 00:12:45 +0000 (UTC) X-FDA: 83399670690.11.D0A8C46 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf25.hostedemail.com (Postfix) with ESMTP id 6B0F3A0007 for ; Sat, 3 May 2025 00:12:43 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LSaCZNhq; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746231163; a=rsa-sha256; cv=none; b=nVCuf9mFUyffebm4e3XpW1eff/UgwHG28soaLTA0XP7aUnDhVBy32/TSzNGDi1/9a7lnJ3 9M6qiHVjl/DkB/W6q2agfbmq/vP97RUGuR69jaTUY0avB0OdeNzW59WjvPlqQjLvzu8OVB c90M7mw5vlJwZEvR8bwTDUJXGHFf5Mk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746231163; 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:in-reply-to:references:references:dkim-signature; bh=MtdIGPRfvxxZHX2S0Tgq9S8/vB/STU9UOaAMWnJag9s=; b=Mq/OFYqnVKnqIlNku2ObuPKT6f/E+S0OdPTIUAV0Ifcmwi/6YxUDXASG1OLQY4SLpRSzc0 jTMuX4WNpNT0Xv0ykb9h4q8oJYfw41sJZ0o1e/TmCF2/Fq5tHGTO2nxMxwie9CDLBdZ6oT n5QwWvAlB1gn3FpOjQeho1aUBIka84o= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LSaCZNhq; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-224191d92e4so28646245ad.3 for ; Fri, 02 May 2025 17:12:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746231162; x=1746835962; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MtdIGPRfvxxZHX2S0Tgq9S8/vB/STU9UOaAMWnJag9s=; b=LSaCZNhqi/ESW7kZDRXAJ7d7CFM4Pmyac41TH6kg7WAOuvElfeXz+BvgVscRtUu0TA 2p3jBxKlh3BNTGD0Qy5qZONtUNf0LtWErEUrIOdlcV5xLcPS+RqxwZ4cwc/SFXYdyqMa zZR5//Z+jLJIlU6qHlqNBGUjXib4BXrxvsszDupXoSBXOAzM7CpOcOF3D4KZIfVBdSQ+ Lau+7WStqpIEkVd34+WZF4adKZdswZNNeuXi/Nkd8M7qUFsgoOyAh+CFLDlEHUl3OO/K BFHwFDXTxbdcUxi7YqBemyKi1AE7C2lHE9EAC2Dut8Nzvy4O1geGtopBvK1QLlAHwHAU fYUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746231162; x=1746835962; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MtdIGPRfvxxZHX2S0Tgq9S8/vB/STU9UOaAMWnJag9s=; b=eS+OCnZO4WzzqB6CIToTD+Nq4uip2z8r3XchgvMlWnoRfBh+j/VyNOwBM5QAm9chrE l6DwvKmCx6vmBeDhxbDHHnPgT8jSl4YKsUjA+i+v0zCLdpJ1nzAKjR1MiVz27+wCZC61 IIjiDIO4zIhWmTzr6/KaPKkJpxWnpYA+W7M4Q3UWQeQaLXh9kqxWAaTVLgOJFpW+n1nf DBY3IREyIb1YjFfyGYLHOZJWan3s5zGP5skIU2ZPnB5mAfOmQs7BWuE3/EDesL6jNj6B iMG3LmgQNMdX/m2rcj9NJy/ry9B9F57r9ZCcvlAEKnZzikU0APj41eNb9cswZqNV6KLe oQEQ== X-Gm-Message-State: AOJu0YzAJyiAdZvSYpDPD2xSwlc1/Wgk5SeNwqHlse90L5NUQQaaL2hJ ZSI5varmfGUhPpaE6Gs04CXbBs9icyXSNygjLb5LZRvZkMC0Ofjv X-Gm-Gg: ASbGncuAcStvuq6dx6eBQlKVq7Vi4AkYMCwbMq/sADiTGrv6EihskYIE4CKVw3VrCyy hUm7xm5+61Ga3zugP89CdskI7MW2N3n0QQZFviboEZC28HtyVctEDHjkMwSRlX720Qi6pmcT5q1 N4R60YzLZs4ndlPTFeY/BFJJYo84fuRvKgt3TtRu62gasmcbdQW3AoUO1Jbo7T0b65LiN3Fz5GA hJKSn8X4won70hBQPyUlC+K7u/rmkO4vrTCAI7f46MngoVgxrNNJ1MwlH8126aH6iLyTdsu/04/ YrS5REZHe0NJ1K4pa6wDCex/cxioFuFoXAgZ19HVEfhPrERQISjk/KPGdFtbn1YDp1D0 X-Google-Smtp-Source: AGHT+IFFTSTQpDKc23bSKTdbvF46bBHr7KAByqfjr/p3XlpGzBjPFSs4+8B3+z8HR9qFORFAfBOo3w== X-Received: by 2002:a17:903:3ba6:b0:223:2cae:4a96 with SMTP id d9443c01a7336-22e103908e6mr65170635ad.42.1746231162383; Fri, 02 May 2025 17:12:42 -0700 (PDT) Received: from jpkobryn-fedora-PF5CFKNC.thefacebook.com ([2620:10d:c090:500::5:6a01]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e15228f9csm13718635ad.178.2025.05.02.17.12.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 17:12:41 -0700 (PDT) From: JP Kobryn To: tj@kernel.org, shakeel.butt@linux.dev, yosryahmed@google.com, mkoutny@suse.com, hannes@cmpxchg.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, kernel-team@meta.com Subject: [PATCH v5 5/5] cgroup: document the rstat per-cpu initialization Date: Fri, 2 May 2025 17:12:22 -0700 Message-ID: <20250503001222.146355-6-inwardvessel@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250503001222.146355-1-inwardvessel@gmail.com> References: <20250503001222.146355-1-inwardvessel@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 6B0F3A0007 X-Stat-Signature: 4ytqio1u4dcsw5x1eo8uj9qmfxcunfzq X-Rspam-User: X-HE-Tag: 1746231163-39062 X-HE-Meta: U2FsdGVkX1/DO9+KHxxs6SG4RBj5HkGmvay0mknhf+G5C1QaVEmt6mcOYgihlUgwrE+btU2o6gzYCkT/KW/VmuLwmVFzfVGdRwlV72ttg+kIJMbHyk41NZWtJ4AccUMmqcTDP/n+C0l8j+kcHtL9ZXwHS85eVNIawrgxoO8F9UaadUj6IprI9Y+42ebS2N7iAK+iCU6t5pNjtJhiXyquj/uvhwSwk+hwGIktvGwFt2Q/MetsM+lHz99/xoHBQgJSJ3OYgIPIz3PPR8K20RQ1nLXwxN/dpesR11eRzJ6NSDvNyDzPNyEnK3B6Ojb2zMbXRpLEaBFXs77rmakQjVlXVA8I2zwMt1O1AGivGnVjV6LK4oOOkW53xfSlyXB97PTNDCtouWPvFswqDgbRvz2dTYB9UlVOlo5GNeSlxZMnpW5ciDpwAERZEYGRfyjjDIA6AwjpTivhx2d0VNllbD7uawtbVpv7MNOoRMmxb16nUgLn04jVjRpNW2KRGR4Wytk+n+mx5gXrPsWs11V9EWrIbr4w3NGhnEXhddeMRmLGO4h4xniRXjco0PQQ3BI3rNtUJ19SUPyaXiNDaQ7PqZrhYia26ifF1KY3KetAHr0ydnHAGjZTCpqwY3UfozbaQbrcZw4LwxfyU9FcI1IrEPS0RDes2d9pVRjb22dXpaJevIy/zkbEFwzsxkb4QWf1OXuIwwRCp7KGyv0gc2SYbNqQXL0RsQWBkzZKDUmB/oPHmQ3tLPKUmA6zFoSGvrSbld0TnWBdq1oq3BF5O/HL8FYGN57tnG3oH0MqGZxe+KjtHT/aZChDCigyItswXBwAZztbfHyXzTwfe8O8GuyfWwhkP6uB5swy2imWq6+YlnUxg+18bYlDn9xVAD5hXcBitIYQeFZBu1+uFkr8ng3fZRpb3iX+9AO0GEwH2W7+/Ml8PV0K/+BSl8Ycvu/bQbsygIP0XNkIO5OJ9ZDm9xnH05y +f9OmCiZ Z9lvkGAELob9eohNO/lwK9ExJsC6MwUEi/PnDN6bR2K/AuUH6XtXpzY+KN/5NNApRfgXNVvy73P69HWMnqwlCjfmexgS46y3FU3yVo5JMe/Vncd8PU3tfsdi2bdXmUh8qnEj4i3XQoMYIx5mfLKQ3bGNMH3T3TvSRE9ocHvwnHFt1eS9PjbFTJAR7hksJXb0nfYc7S8dXsgjTKtdIeBIY4PjdbMycxQhmtMByOpZXlAmzVyxqVkbaPribbOPkqA2FRfQWtvVYaOrmaByys2PtyKUPWLkZ1O7LLWCdg/xPigaB4rD1pUcGUEdCF/TmpOa2KgAq9goBwUt9tMe3KSFuoeVagLaIXLHVzC+zvUt9mLgBgk0POK/p8KiH7TvtV1yqGi7Z 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 calls to css_rstat_init() occur at different places depending on the context. Document the conditions that determine which point of initialization is used. Signed-off-by: JP Kobryn --- include/linux/cgroup-defs.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h index 5b8127d29dc5..66aee8087f3a 100644 --- a/include/linux/cgroup-defs.h +++ b/include/linux/cgroup-defs.h @@ -169,6 +169,21 @@ struct cgroup_subsys_state { /* reference count - access via css_[try]get() and css_put() */ struct percpu_ref refcnt; + /* + * Depending on the context, this field is initialized + * via css_rstat_init() at different places: + * + * when css is associated with cgroup::self + * when css->cgroup is the root cgroup + * cgroup_init() + * when css->cgroup is not the root cgroup + * cgroup_create() + * when css is associated with a subsystem + * when css->cgroup is the root cgroup + * cgroup_init_subsys() in the non-early path + * when css->cgroup is not the root cgroup + * css_create() + */ struct css_rstat_cpu __percpu *rstat_cpu; /* @@ -530,6 +545,15 @@ struct cgroup { struct cgroup *dom_cgrp; struct cgroup *old_dom_cgrp; /* used while enabling threaded */ + /* + * Depending on the context, this field is initialized via + * css_rstat_init() at different places: + * + * when cgroup is the root cgroup + * cgroup_setup_root() + * otherwise + * cgroup_create() + */ struct cgroup_rstat_base_cpu __percpu *rstat_base_cpu; /* -- 2.47.1