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 AC9B7C021B2 for ; Tue, 25 Feb 2025 19:20:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 333D7280003; Tue, 25 Feb 2025 14:20:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2BDCA280002; Tue, 25 Feb 2025 14:20:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 11025280003; Tue, 25 Feb 2025 14:20:56 -0500 (EST) 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 DC26F280002 for ; Tue, 25 Feb 2025 14:20:55 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 85D0A1C6401 for ; Tue, 25 Feb 2025 19:20:55 +0000 (UTC) X-FDA: 83159434470.12.61D4A4A Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by imf19.hostedemail.com (Postfix) with ESMTP id 726AF1A000F for ; Tue, 25 Feb 2025 19:20:53 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NAI3+6h4; spf=pass (imf19.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740511253; a=rsa-sha256; cv=none; b=CbeQEXUDuxSFGn7049lOYMqdBqXli+ZGmVUChV783zyTzj79CMPD+NlnMISHvJ/Ej1snZb vnr3lYnQKNyeFkPKT1gvT6YfmmDEYdyfcyfUGfaAZfw73UFuZHbRRDFMGokbf2yhSPyuyH 679Vl9kwjHyy43WIq1lsfuhvTCgogbA= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NAI3+6h4; spf=pass (imf19.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740511253; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=RARoSJFMUdQN3QyYp+tR9O5/gRRxTrGr5MQp2tsGrUI=; b=xH/xivCGtnLSLfL9eYHeWLJLPZPjgNtQvWaU7REQ1nznv0Q5wvEVbbcwRX8GFJLpUL4dVU B2Gjmnj7Em4YamQTNUz1T9jlH/tY/VzVi1tIbywFWII77eg4FucPU62OCxq0U2tORxzNQt k4Wke/V3A3jRDBD2XEINeu6siyqVjSo= Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-221206dbd7eso125764605ad.2 for ; Tue, 25 Feb 2025 11:20:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740511252; x=1741116052; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=RARoSJFMUdQN3QyYp+tR9O5/gRRxTrGr5MQp2tsGrUI=; b=NAI3+6h4k/uG+JM3AnFiVjO+8036i/gnYpS3t6wULtxZTvibZunOsST5yVf6cnYXmC JaBeoM8LMyPOUVoO1D0gwVqEwytPqJ+5eYpLTiinkp45wMX4tJDXc4qrHc+jbKWo9MFr 3l+jc6U4Ucf6z9J7KEv4OwRhwZ0Eh9KKGGABw5kv7lqg2OfSQRzTULoTet99uOjwvAPj 7QATb44vg8ziXodM4V96PySwO4gdgGiuMUBYcT4v9U6RtWcDu8D225IR2I1KUUCrsebW mySlPHy/MB6mPYlvU7f+bJPW7pMXKKt3viGsCjw3wd7Moq0UEHV6NRZAYENhJytJIipn UVAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740511252; x=1741116052; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RARoSJFMUdQN3QyYp+tR9O5/gRRxTrGr5MQp2tsGrUI=; b=p6v6kzgr2s8QoRzCN24zjxh9Y97ftgKSYfiGVFHcoUqDOHX7uTi2EHdHAhopztLSHL rcnX5szCZtFnNN0D3OmqurC7rzGsccgrHGfNOP7VMUiqFzPDCkCoKYhKA1o3oscc38+h Q+4E/Yh7FUZ1NH/FL+DmzovrT0LsmqkmesTjMHVT90cNjb/tDDGZ6iI4LxnIScC97TUY rQxeLt5nRly4lKoZ8YoSYe5fCgYoa2WJrlBYC43Zk1o4d9eHFfP3D7vRSCfowKgzcYJ+ zo5/x3OBJqU9xfzvf3WdmkTzb6ZUoT/j+pimN4rH2uybHQanSghc2ZJYnlZhKx+tk2RW fTcw== X-Forwarded-Encrypted: i=1; AJvYcCX2vUuFDMFGZEN7G7pJOd7QwPonJjsnL54rsuwIKF52CCZ1My3KRiTSI/zlqJ5wUTmFRjGS9+4czg==@kvack.org X-Gm-Message-State: AOJu0Yw6p9c9taz3/hWvr+JAGGUY5P573/Xzf4zCq+H7ThyEIziAWUNC WE1g8Md23fV2TxmwuvLZJDPXwCs9TpE2HXsNsICzxBFWIWtKCQe2 X-Gm-Gg: ASbGncskWPLMtXMFT5jP1E5lh5JPq94iDo6YsgpDO1ht4An6vehE+HrBV6uxO45kZGQ Lmo6WCmyBQrYKWceMtl0F+nyO8fmMYbEOK7i650P4A29Cutv7+effIlHku6oS56XWjEySjZxuAS QW0c1TMmdSr05g+dtHYtrBvxaTZo7XC4Jb5TOdtXUF/FHQOAUqKGp35EZBE0qO3myOXUiCmx7E7 mwxQMuDqoPPP1qPOGD5SGE+hlOQhm3DG94I1Fsj6HeZy5uiwVCewmQjrTAbpkGDBn5cvGt3X43j c28Pxw0dIy98fPmpiQV/BV7b32DUcNDDR8msw4e4xKzDeGtggYKHbXVN6yg= X-Google-Smtp-Source: AGHT+IEYHBqoR7HqO01GqOk1FyOIutNksksY4x6woVPhNH/xTQLyHZNQ5bVskEq5n49/TddfPlO5Vg== X-Received: by 2002:a17:902:d48f:b0:220:f7bb:849 with SMTP id d9443c01a7336-22320099429mr8181545ad.13.1740511252066; Tue, 25 Feb 2025 11:20:52 -0800 (PST) Received: from ?IPV6:2a03:83e0:1151:15:d919:fdd7:c8cc:6adc? ([2620:10d:c090:500::4:79cf]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2230a0a63efsm17859725ad.205.2025.02.25.11.20.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 25 Feb 2025 11:20:51 -0800 (PST) Message-ID: Date: Tue, 25 Feb 2025 11:20:49 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 03/11] cgroup: move cgroup_rstat from cgroup to cgroup_subsys_state To: Yosry Ahmed , Shakeel Butt Cc: tj@kernel.org, mhocko@kernel.org, hannes@cmpxchg.org, akpm@linux-foundation.org, linux-mm@kvack.org, cgroups@vger.kernel.org, kernel-team@meta.com References: <20250218031448.46951-1-inwardvessel@gmail.com> <20250218031448.46951-4-inwardvessel@gmail.com> Content-Language: en-US From: JP Kobryn In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 726AF1A000F X-Stat-Signature: z9ykgpmtw9ewssc3hfyqwy1m98hndu4p X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1740511253-176669 X-HE-Meta: U2FsdGVkX1+nBxU6H914cCYo1vSfC9hXRXjykQLleAxm31C2zvc8M53eO7Zh4ecsMXd0VTVMIyCpPhlbpNmfrzR2w7iitzGD2zUHIHXuejAmmZ/lDXniFY8pI8vchS/bnykyVCxFmDxnI1dBiPHcOaNbe/n5ckrrVs9wpWnPYQMT57ezQvhxoHQDH4hL5znf/gp2y5jdPlZm9Fk2L6bmCau7Ef8tF3B9ce/vv2XFYhLsD154fY5F2gboKTSZCoADBmqaLZvQWo2uRdp4fK5GK8f4qfPK3DbMFeBlnJJq49kHjUbYtcA274xypED4PWw2Jyiwz/IqI4g3KRhPNIX9N/VoLPOxwhAmj9hns/5XZZY3LuTDTjdQt44MexZ0qiuVlSr8kntmGvwpYvaJWAoJhYwFuBBH+5nOkfNjNHGjDf4WYFlsYJwiAUqbeh6Rov/+0bt9BT+vd9KiSA5/ayiwf+JFoeywgHPSoaDA/iWoBwOxiqMFcP4idCnNouKU62ZMhX4fpUdT/+Ivj6SoVxim3wLmr2aOavgY19lnPQKip43k5ZLs45v1zVCY4QSF98sUXGBe85j+u2qer8YLDTUjjw5J3r9L2KRsFQhfykzosOuZJIs/7TRqvi7naFvOCbDqUzKybHNqJl0OSfnROnAxtMAbfkjKszhi9sdLZwCOfGluj6OtN5ae0PmommkWHw+qeY0NgDFtqFHlkrjSML4yq2IrL2NzseRroSoVKPQrmH1bKfdNtBYInliQvj7K5sGpT/ib7MhQx+VQMSDN/sTOLR0mR3ERjjDPNH9rqYqkQiidNY/H9jrDG0gF8EYlH9gmkgfIeprCELvU9LBAQEdmixhRsxOFRm+SgcAybqDuy9pV6mdJfPzaC4I2EJAqryhspId1ZXLeyqNM11iwJ8fNmrv6jXGcCFJsXhFV4LyhejJyGJS4Prs9XX7OZv1M2oFNSFtffANdVnmJ/lkTBf/ 4zNe6yDv eyE/bStXcXmp+St7ZeMMDJR+ic2nXyBip33OPISMlmaj9nqrjoweavxk/9GECXIN6TLNDeToU0xMJmUophdsDZJF3KI7greFJEkI9QzEfjWiWgWVqH5LKN3mW/Tuj8OGkYwO69zILilo8mjpmlkF3oeYUNJNJ6L8OsxAblpE4cnFqKmWb9sTHq3mkhs2ne31EYalb1Ui4U/bL+1jf0U5hoXEv0trrd7kINWBkAkMMDnhiZjz/xSceIyZorG6gCxGagP7p+wtbgtwtmodRCVHIpeXnoSp6G5JF9iwRTw9Qomg2jQhf1p800y3YdrF6fjUeL+VHIPqVBVetqpHyBykVNxt6kzRrx9HMGzURBY1TIwgmBSAXQBP3TT0y2MXEdL69oV0s/7yK/l3aU2CZHOXrK4Z9/7A9koIcB9bdb5xf5Gj+bCJSoJqun31eF5KP/ICngp0ycqoaMdODmj04XxV/NTMi+HK3mNX3AbLiCH7b1/kvgv4= 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 2/20/25 9:22 AM, Yosry Ahmed wrote: > On Thu, Feb 20, 2025 at 09:06:44AM -0800, Shakeel Butt wrote: >> On Mon, Feb 17, 2025 at 07:14:40PM -0800, JP Kobryn wrote: >> [...] >>> @@ -3240,6 +3234,12 @@ static int cgroup_apply_control_enable(struct cgroup *cgrp) >>> css = css_create(dsct, ss); >>> if (IS_ERR(css)) >>> return PTR_ERR(css); >> >> Since rstat is part of css, why not cgroup_rstat_init() inside >> css_create()? Good idea. Will do that in v2. >> >>> + >>> + if (css->ss && css->ss->css_rstat_flush) { >>> + ret = cgroup_rstat_init(css); >>> + if (ret) >>> + goto err_out; >>> + } >>> } >>> >>> WARN_ON_ONCE(percpu_ref_is_dying(&css->refcnt)); >>> @@ -3253,6 +3253 css when it is destroyed, so moving the cleanup to css_kill() should handle th,21 @@ static int cgroup_apply_control_enable(struct cgroup *cgrp) >>> } >>> >>> return 0; >> >> Why not the following cleanup in css_kill()? If you handle it in >> css_kill(), you don't need this special handling. > > Also, I don't think we are currently calling cgroup_rstat_exit() for > every css when it is destroyed, so moving the cleanup to css_kill() > should handle this as well. Thanks, this makes sense and will eliminate the need for the extra cleanup here. It seems that instead of kill_css(), the css_free_rwork_fn() function is a good place to call css_rstat_exit(), since it corresponds with calling cgroup_rstat_exit() when the css is the "self" base stats. > >> >>> + >>> +err_out: >>> + cgroup_for_each_live_descendant_pre(dsct, d_css, cgrp) { >>> + for_each_subsys(ss, ssid) { >>> + struct cgroup_subsys_state *css = cgroup_css(dsct, ss); >>> + >>> + if (!(cgroup_ss_mask(dsct) & (1 << ss->id))) >>> + continue; >>> + >>> + if (css && css->ss && css->ss->css_rstat_flush) >>> + cgroup_rstat_exit(css); >>> + } >>> + } >>> + >>> + return ret; >>> } >>