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 A95EDC369C2 for ; Tue, 22 Apr 2025 12:39:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B2E16B0008; Tue, 22 Apr 2025 08:39:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 460B76B000A; Tue, 22 Apr 2025 08:39:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 376996B000C; Tue, 22 Apr 2025 08:39:16 -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 18DD66B0008 for ; Tue, 22 Apr 2025 08:39:16 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 984AA5F827 for ; Tue, 22 Apr 2025 12:39:16 +0000 (UTC) X-FDA: 83361635112.02.F0875BF Received: from out-185.mta0.migadu.com (out-185.mta0.migadu.com [91.218.175.185]) by imf05.hostedemail.com (Postfix) with ESMTP id C41CF100013 for ; Tue, 22 Apr 2025 12:39:14 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=R9zA1AGK; spf=pass (imf05.hostedemail.com: domain of yosry.ahmed@linux.dev designates 91.218.175.185 as permitted sender) smtp.mailfrom=yosry.ahmed@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=1745325555; 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=kzWMaBkQgXvqygLl2B6be6LqiITXFJ6CTmy66vVzN1A=; b=O6lEQsNhM+ev1AiBt0kn2TKXz8M4uk2VdwuX+ru3uOGPq5drI/oVXqlWR+RJ491jFnGT2+ aH2+oThexNfLAKZbZPgTYucUq3lX8IPb71LWB3Vuw15NSiXEgvA0FrQevEReOk0tviZkJQ PcFSrENAAca4i1HCEhaAdAhL1JSOIww= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=R9zA1AGK; spf=pass (imf05.hostedemail.com: domain of yosry.ahmed@linux.dev designates 91.218.175.185 as permitted sender) smtp.mailfrom=yosry.ahmed@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745325555; a=rsa-sha256; cv=none; b=BTi8OFRbx/C4XVVVQp6C/TiYGisWSptjS1qGarVXkjtbya7rWii6ef9vnj0ppNhtfVO0MW NAjMXfu6+n+hHKPiXabPVZy5fGszBTLXg1yLwq4nT9OeXZUtmBzEVl5TAvRTVaLuzJMsIA ya2jb4Uam4OCjnBikzFC5HV1QShpyl8= Date: Tue, 22 Apr 2025 05:39:00 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745325552; 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=kzWMaBkQgXvqygLl2B6be6LqiITXFJ6CTmy66vVzN1A=; b=R9zA1AGKoYzDhcMcBt/hpF9tbDu80KiRsmjJYvLFVLVdKZ5Lg42JM76PSSRm2UMNfjaXPA pUFHZeSNmi08F11pqNFOv6CaqaOrntXFNMbWTE0geglMVKsKEKs0JYkLDFI2GDiTMMTwuq hyS1LCwtY2oINGZjZ0kTGgJFhLe886M= 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 3/5] cgroup: change rstat function signatures from cgroup-based to css-based Message-ID: References: <20250404011050.121777-1-inwardvessel@gmail.com> <20250404011050.121777-4-inwardvessel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250404011050.121777-4-inwardvessel@gmail.com> X-Migadu-Flow: FLOW_OUT X-Stat-Signature: 956f99zrmh4tgeu3kd3kupud4znhyzzu X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: C41CF100013 X-Rspam-User: X-HE-Tag: 1745325554-426353 X-HE-Meta: U2FsdGVkX1+mFfPaIU+yQEE3O9TRLFAHrLPuSJfaesBJhdVJs+aDztc81Bx6pZ7ZV8wiVebpOC52ohHe3+hD/0J3JE/zRDhQd63L823wW2NNUEeki/16ua3CxGVuIEgyguFogCfmXFqrz1uAculbSyygXZpm6JlyXods7D3yOpUJ8v+E0h68GFH23Te/Tn3fpRsIgsHJSHR4x58Pz+xhpcimxX+CDbdcP+TMl16FdBmACNNB8YKzQUbMIdmHdt5OBm+pZ7jcEfMQ/1AvgQrphKtsjqj4li8R+LlUvuaslVw8WerMciUjYedhGzNmSRFl3d+pHedKxem+9sAMpDC5zwfgdubgp+9L2CX85m933tM6SX0lo9J4/e8spwUxt+UoI5P03UW5zzaluSFslfnffkLZDTRauOzhxph1ZL+uAWxnE/BAKC/TrQ0OBUbWEQvU1zLUZkbdWRTRfz6HGDVgR1jlbdnEJk/G1ezRI65xO9q9788cUOUnRx7kqI98d1UxllMaUYWkFWkZHjak4aN6cprWHPv5FTpvfxu6Qjc1WL2fkujHP+XdRJJve8Rq5uGlJaygSKmrvEEXRkjIF9egurWQO2soFPY79QEAcJus0FczbLlg03geGy40nScV5LqtvoSnrMCcSAVivGmUQIAbrXEPPl0vKRwicGc+/H1ZXaxfUy8PoyXbHJXDkSsk3vw1sJMNzexq/QN1CC5DwKOjzSisVhKLVyKFLECEjZ/3a7VC6UrUiwmVafHgsLnBUtJK6Lkpm7R/8uExkkisWQuJzn9NIw84kqdzc5f1EiWwQ2ULxsJP80YdJsxTx//rPhlyCas2fZjpRggw7HCzmNotAQni0+inJ2OyRRi4TwtZTl3gHDXptDRMubb3bQ/YpE7INJFdrKidn2BVrGirhueNHSonGZ3cYSREgJiNbsrmmkW8lvfeJenUjH5n9WJuNSU9e/lWSKRAzkvnao7orbB W4zMhOoZ q8L+VjIYDiEvgtFa0VS7xkbaCTdArX8wgDofPiQhwtiv+cPvMzq5ev7+tE7LnyOji0iGJdBe2grev0afEmqwhEO2UMWoYG1a6S7ks8bYAm2Hw+NH/QLECUMEkL2JvoT0aJRiiX3Ch/lr+SIS7p75tV3qry5Sd+cJHaAmZUnLzdNL9G/DfN/QIXYT8NAbTg6F2McPMK3GSQ2d0dTs= 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:48PM -0700, JP Kobryn wrote: > This non-functional change serves as preparation for moving to > subsystem-based rstat trees. To simplify future commits, change the > signatures of existing cgroup-based rstat functions to become css-based and > rename them to reflect that. > > Though the signatures have changed, the implementations have not. Within > these functions use the css->cgroup pointer to obtain the associated cgroup > and allow code to function the same just as it did before this patch. At > applicable call sites, pass the subsystem-specific css pointer as an > argument or pass a pointer to cgroup::self if not in subsystem context. > > Note that cgroup_rstat_updated_list() and cgroup_rstat_push_children() > are not altered yet since there would be a larger amount of css to > cgroup conversions which may overcomplicate the code at this > intermediate phase. > > Signed-off-by: JP Kobryn > --- > block/blk-cgroup.c | 6 +- > include/linux/cgroup-defs.h | 2 +- > include/linux/cgroup.h | 4 +- > kernel/cgroup/cgroup-internal.h | 4 +- > kernel/cgroup/cgroup.c | 30 ++++--- > kernel/cgroup/rstat.c | 83 +++++++++++-------- > mm/memcontrol.c | 4 +- > .../bpf/progs/cgroup_hierarchical_stats.c | 9 +- > 8 files changed, 80 insertions(+), 62 deletions(-) > > diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c > index 5905f277057b..0560ea402856 100644 > --- a/block/blk-cgroup.c > +++ b/block/blk-cgroup.c > @@ -1144,7 +1144,7 @@ static void blkcg_rstat_flush(struct cgroup_subsys_state *css, int cpu) > /* > * We source root cgroup stats from the system-wide stats to avoid > * tracking the same information twice and incurring overhead when no > - * cgroups are defined. For that reason, cgroup_rstat_flush in > + * cgroups are defined. For that reason, css_rstat_flush in > * blkcg_print_stat does not actually fill out the iostat in the root > * cgroup's blkcg_gq. > * > @@ -1253,7 +1253,7 @@ static int blkcg_print_stat(struct seq_file *sf, void *v) > if (!seq_css(sf)->parent) > blkcg_fill_root_iostats(); > else > - cgroup_rstat_flush(blkcg->css.cgroup); > + css_rstat_flush(&blkcg->css); > > rcu_read_lock(); > hlist_for_each_entry_rcu(blkg, &blkcg->blkg_list, blkcg_node) { > @@ -2243,7 +2243,7 @@ void blk_cgroup_bio_start(struct bio *bio) > } > > u64_stats_update_end_irqrestore(&bis->sync, flags); > - cgroup_rstat_updated(blkcg->css.cgroup, cpu); > + css_rstat_updated(&blkcg->css, cpu); > put_cpu(); > } > > diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h > index 6d177f770d28..e4a9fb00b228 100644 > --- a/include/linux/cgroup-defs.h > +++ b/include/linux/cgroup-defs.h > @@ -536,7 +536,7 @@ struct cgroup { > /* > * A singly-linked list of cgroup structures to be rstat flushed. > * This is a scratch field to be used exclusively by > - * cgroup_rstat_flush_locked() and protected by cgroup_rstat_lock. > + * css_rstat_flush_locked() and protected by cgroup_rstat_lock. Also, I believe this function does not exist anymore.