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 F16E1C197BF for ; Thu, 27 Feb 2025 23:01:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 70CC3280005; Thu, 27 Feb 2025 18:01:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6BBBA280001; Thu, 27 Feb 2025 18:01:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5AA7B280005; Thu, 27 Feb 2025 18:01:38 -0500 (EST) 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 0E09C280001 for ; Thu, 27 Feb 2025 18:01:37 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 20EEB81E7F for ; Thu, 27 Feb 2025 23:01:37 +0000 (UTC) X-FDA: 83167248234.28.6628E4C Received: from out-188.mta0.migadu.com (out-188.mta0.migadu.com [91.218.175.188]) by imf15.hostedemail.com (Postfix) with ESMTP id B18BCA000C for ; Thu, 27 Feb 2025 23:01:34 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="HV9OM5/D"; spf=pass (imf15.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.188 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=1740697295; 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=OoTaQAGzX8rjvV6FcqqXocN/Sg8kBNDVleKgzUwS4Yk=; b=evSYfkYifDKbnsktDE5OtVkMKgxJZEROVLOFbPlJ88szAIYMoOlMx+UeONl0lrocOVvOFB BQ9kGjARS50w9mIj1YbKJOc59yq7FcfWaFW1U6xew3xQCN0nlDOT30Ii8Z9TMxcvR8FbxU KbG8Xx5ACC83n7s3ovlIEGkog/7an00= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740697295; a=rsa-sha256; cv=none; b=i/ntkZG6xz1HEx7pPlzkxBR4l2ES+Dl4GCl7pfYivGISDgQpuQPrIQrcyMDke3wQnm5f94 c51HjaU7eQ1M40ILMV6xcLAz0OJ0V9tPyFvOkhMekCpNuUISUp3UzOhvC3AAfRDbkLvL2u H5mjDQP50A9/1Z5mCLsbwuCrkXeBnRU= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="HV9OM5/D"; spf=pass (imf15.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.188 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Date: Thu, 27 Feb 2025 15:01:27 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1740697292; 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=OoTaQAGzX8rjvV6FcqqXocN/Sg8kBNDVleKgzUwS4Yk=; b=HV9OM5/D8AqGYFntEo2xAxZZKYH+R3tRKiP3D+3XTCbDUc9oCYeES4RITiFJUWHL1pYFmD roCdIuTlLimk02enlly2j/p8MJXRVLOB56F5D6UO0h9AEms9GNYAmY0maiDv6WUVQyxD3c nFdRAjitbOjMVtahfexg7ZWhsJrF7/4= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: inwardvessel Cc: tj@kernel.org, yosryahmed@google.com, mhocko@kernel.org, hannes@cmpxchg.org, akpm@linux-foundation.org, linux-mm@kvack.org, cgroups@vger.kernel.org, kernel-team@meta.com Subject: Re: [PATCH 4/4 v2] cgroup: separate rstat list pointers from base stats Message-ID: <3asrhag2zfxzlmtjqwzmmuyt5tn57d3se7uvhpuloavsc4dvwa@2my4xmpabl2o> References: <20250227215543.49928-1-inwardvessel@gmail.com> <20250227215543.49928-5-inwardvessel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250227215543.49928-5-inwardvessel@gmail.com> X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam02 X-Stat-Signature: dm69anu5g8ezzu9d6a4qwkt97d6ux35b X-Rspamd-Queue-Id: B18BCA000C X-Rspam-User: X-HE-Tag: 1740697294-359373 X-HE-Meta: U2FsdGVkX1/Z987IgEDQMFMdBfU+BZl7CeuBE0zhrUQzZ/snh82lv3POElU2hJt2fypikPgtScgFewSJZgk/e9YL8CgLz2xeIjaBkeVFTIkAx73HTL9sF9kx99Mq74boemjaDoxoE0nVK7a2DyANnbfKUbkvLTQdSTIkbGG5IslHrZ7zWEqbnx7N/UGA6KAEpqztQqbyGpLpBG60RyCktxeGinu6tEm6QcfjHineX1s7EF4i1ksLapuM/xhs6GCgQrvvY8ysgA45CaC6MlPlNf/+Esg3b3qcizq/ogr9YgBmVSFZRJX39okROBoyXuXKXe4Z2wXT3TR9pybI6sTYJCRuLFF8amFERSNHSgWG4Meh7bYWRL+xS/RLZ5lUNl5qxiOU2cvRlrBpDkDjA+ikmAOWq3G1KASSnlHfP6kk9tomi3xgp2B+s3JaaQGsKv5aD1T4TITywS+92dUdKJ4+bkkbsyqEiXDgBWWMOyuxjK1UsoU9WgxmPqELb4bk4Bg2nf7WkNDFdmEv+S6L1PLtQ6B8AnHsrxHeYaMeAyfxpgfA/P1lqbiS9ha5cswC4z+LjQ7LY4UwVajI8y4Wbhf+S6Zg7ANZvKaPQ5TxLdFhXW1F7NeHC4Sm5PHZ83/jvy2KC4Ar5IZ802T0mLVZ8dQSC1xiYp088WfCnLMmhefa7ollI4qFOyhWRxT7KD/sF4WnWgVAHbreqHoFJCB+0kXlviKxutL9EyY0RscMIgfUMce162VSgcGRKOv163+29fABejapYE1A4aEJyjSH1Xt6l5fi4BvXp4qJs4CLNi68h9cxg0cyhSA6qp/asUawADxsNKNvHdPKeyV2zjDK3RQa1LGPJF7eO/zdA/fFIqiYJM+6eq7mzYCcVjf9HZrQRUQMNx8WHiA4WZp1TvvInIRnZm2OcMeW7pbtBi0kIys31aOTH8/fHNmm3w6d8T5/X+2W7iGHeeOPikrVSrPfNiO b0w3FVvZ gFo9RjmskLUCPMxaa4JwytJSMEghl00DJ+xkEIAOQqND4xIOe7t8/Eh5VscdwOXV/hivlQBtKH6faHomg1ZWtEyOAXIKPNytpDkogcdUHo4suJt/5sY1q7BlMeodN7wz9UuZ4Dg5gYgFnLlFZrrpE9wcR+6BTn4P/D3qzEfDFeT3rcIBuWOVBfAdjPpA2cjVCTZnswqraOhIv8vg= 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, Feb 27, 2025 at 01:55:43PM -0800, inwardvessel wrote: > From: JP Kobryn > > A majority of the cgroup_rstat_cpu struct size is made up of the base > stat entities. Since only the "self" subsystem state makes use of these, > move them into a struct of their own. This allows for a new compact > cgroup_rstat_cpu struct that the formal subsystems can make use of. > Where applicable, decide on whether to allocate the compact or full > struct including the base stats. > > Signed-off-by: JP Kobryn One nit below otherwise: Reviewed-by: Shakeel Butt [...] > @@ -438,17 +444,31 @@ int cgroup_rstat_init(struct cgroup_subsys_state *css) > > /* the root cgrp's self css has rstat_cpu preallocated */ > if (!css->rstat_cpu) { Early return here for root to eliminate one indent in this function. > - css->rstat_cpu = alloc_percpu(struct cgroup_rstat_cpu); > - if (!css->rstat_cpu) > - return -ENOMEM; > - } > + if (is_base_css(css)) { > + css->rstat_base_cpu = alloc_percpu(struct cgroup_rstat_base_cpu); > + if (!css->rstat_base_cpu) > + return -ENOMEM; > > - /* ->updated_children list is self terminated */ > - for_each_possible_cpu(cpu) { > - struct cgroup_rstat_cpu *rstatc = cgroup_rstat_cpu(css, cpu); > + for_each_possible_cpu(cpu) { > + struct cgroup_rstat_base_cpu *rstatc; > + > + rstatc = cgroup_rstat_base_cpu(css, cpu); > + rstatc->self.updated_children = css; > + u64_stats_init(&rstatc->bsync); > + } > + } else { > + css->rstat_cpu = alloc_percpu(struct cgroup_rstat_cpu); > + if (!css->rstat_cpu) > + return -ENOMEM; > + > + for_each_possible_cpu(cpu) { > + struct cgroup_rstat_cpu *rstatc; > + > + rstatc = cgroup_rstat_cpu(css, cpu); > + rstatc->updated_children = css; > + } > + } > > - rstatc->updated_children = css; > - u64_stats_init(&rstatc->bsync); > }