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 3F86EC35FFA for ; Wed, 19 Mar 2025 18:35:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 74C33280002; Wed, 19 Mar 2025 14:35:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6FA4F280001; Wed, 19 Mar 2025 14:35:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5EB14280002; Wed, 19 Mar 2025 14:35:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 43398280001 for ; Wed, 19 Mar 2025 14:35:11 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id E7CBAC06DF for ; Wed, 19 Mar 2025 18:35:11 +0000 (UTC) X-FDA: 83239152822.30.611C2A3 Received: from out-179.mta0.migadu.com (out-179.mta0.migadu.com [91.218.175.179]) by imf10.hostedemail.com (Postfix) with ESMTP id 09A2EC0010 for ; Wed, 19 Mar 2025 18:35:09 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=EkYkbJ1t; spf=pass (imf10.hostedemail.com: domain of yosry.ahmed@linux.dev designates 91.218.175.179 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=1742409310; 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=yHSVnsYV0So9Z+A1VzS0RGmPulR4DlPUT0ZKsxRunMY=; b=m9gAZK+HIOPhXdAscQH82zOKNQX18xQ12rjkLMUHWQSHrtNize/G6xjBjOmnZRt9dq0q/4 mWsLTtwB9WdUmB7IV0kCYz43ayn1CRyt5Ff2DiC68xApGqxoVM0c0G1Vd6ie0lGtmMnDH2 VigQ/nfcbctWtNLZ/z26h7Loj8sGSG0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742409310; a=rsa-sha256; cv=none; b=iFksP0b3VyyGKoPmQ7t/iLRU0lRXZPr7s/63xFBBb81QNgah7oC0Dn9/DTlSbg+ssKnp4x Pp+1jtd4EB5HJy1bEVvj/Svlnp5kSQOal5VayE7jG810BT5tQom9+q2xSqWCMq+uwQZqUM sl7hRJZr+XdIQCqNFV7uku7jAZt9bJw= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=EkYkbJ1t; spf=pass (imf10.hostedemail.com: domain of yosry.ahmed@linux.dev designates 91.218.175.179 as permitted sender) smtp.mailfrom=yosry.ahmed@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Date: Wed, 19 Mar 2025 18:35:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1742409307; 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=yHSVnsYV0So9Z+A1VzS0RGmPulR4DlPUT0ZKsxRunMY=; b=EkYkbJ1toAdG1iPS2Z6GkomvwZebUOiZbKGqB5p1BJsVzwJokcCo8NAv84dZhoqIF6UuTM X1ZXJwJchtIUPUCgUhC1aAK84AZKSn2GjQASKlEU4MB5AJCHf/eYIWuQUgdkdhU/diHZCP 1fGtdHcMm7s1ajnernfdkMLaoxmJMjw= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Yosry Ahmed To: Johannes Weiner Cc: Greg Thelen , Tejun Heo , Michal =?utf-8?Q?Koutn=C3=BD?= , Andrew Morton , Eric Dumazet , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Eric Dumazet Subject: Re: [PATCH] cgroup/rstat: avoid disabling irqs for O(num_cpu) Message-ID: References: <20250319071330.898763-1-gthelen@google.com> <20250319180643.GC1876369@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250319180643.GC1876369@cmpxchg.org> X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 09A2EC0010 X-Stat-Signature: aerjm7d8i4p8ra63nzekro9yyinfo8ae X-HE-Tag: 1742409309-185305 X-HE-Meta: U2FsdGVkX18n7vhvPop43I6ZtMfNPa2jzcLojYHcSA3hy79FnM7CseyglbL4jp1Q5UzyUHjK1IpqNI31Ta2dKMk7uWD8XaL1fvzpQZ127hIwtntKkv7drl5TjQRX/u/XuyPwSU9ZBreAmI/bGJVoj/i6SccnFJjp2eDwLuVh9BZTLn/TWy2jt0u/0g2oMPNHenAzPls20Y9sPp59ZfoUAfsbQGkz6bH7uznKOIQHY1HROAJt4gewZEOvyP/fcPiixjrQisKyZukoG/axFrzQK1kX9tXppUMMhXzWNTKwjmEbAKmGWbGQlIbiNovnYD1L5WI0+NH41mphqKAK+9EY2lP+SepI8Qd5aLR3d91Q7OJllL0Fcx4UBAre/WZ9IRSZmwJv30XzxHtcDy2uC5X62rfV2lu1tgrr1eJPKeA9VkbmtbC6UIu6nAW/W7IGo1IhRa3imtcq5bbzXZdd1D3Nfqpz48qguYYfuBaR/p9v999fZyo8gMaojTLEU6STHI85ePGlG2/7hyjxDr1ak0PmoVFrHKLRMspiGTSEhtyEDhHHAnrkateOGp/5WZJQoMzamLmxQISUyOZfV+tWZ/14T+jZhUkWZyxo61YpFAA6Q60IvZ3dDvJnYqcYi9xIgBZsPCJqnSKqeverJ/rIt0X3agJdoYtU90BpmYDqlfhRlYA88E8cPV/oaq5OvuT9NJHXEBcWavfpCizCDPragu1MtV9z9QmJMCmc2nH9wbvQfmTMY0iCRRqezr8fgrArTgHdQj/CcIDOf37qPqyxf+txX4mwTMJUAUOACDfWfL1keirES4XnWZQKf2PPar526noD6oo6xpF8wmH3/RRf2x6JbIZ2jp4dbnflOLPbf1SsafhnvlKkG/MaWEYoJzQWA1ETP73qdmb4baaWYwx/Iwxoozs54Vyzi3A0RthKIZuBlCg3/Q0ZnpNaV6c293okYAPvTOdwojD/IdZlbuJYha5 knFuletR pdwyHiPz091pOSJfbmQX7DhAXkH2iYc7Ao/MmNc5w2VxTC7Nl39yaFc1kXBv4b7l5qexfKQ5RTIZ3mAojyWm1Rwd8IRZ1BfgFfa7LBZtul37Z6460CFIdQg+NukXmB+De6HaRmFAYFBIcR8p7wsyvruTx5jKsFTIwrkFrpBywG/DEWywlscbKVdHrCi8SLEuTuVUU+p4ce6gm0QVEDS5hO1xTGAtwWfsr/6ZM5xdgOzZKQxETxJ7n4CnbZN1eRPv2tkEmGwHhwu+P5Ro= 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 Wed, Mar 19, 2025 at 02:06:43PM -0400, Johannes Weiner wrote: > On Wed, Mar 19, 2025 at 05:16:02PM +0000, Yosry Ahmed wrote: > > @@ -365,9 +352,8 @@ __bpf_kfunc void cgroup_rstat_flush(struct cgroup *cgrp) > > void cgroup_rstat_flush_hold(struct cgroup *cgrp) > > __acquires(&cgroup_rstat_lock) > > { > > - might_sleep(); > > + cgroup_rstat_flush(cgrp); > > __cgroup_rstat_lock(cgrp, -1); > > - cgroup_rstat_flush_locked(cgrp); > > } > > Might as well remove cgroup_rstat_flush_hold/release entirely? There > are no external users, and the concept seems moot when the lock is > dropped per default. cgroup_base_stat_cputime_show() can open-code the > lock/unlock to stabilize the counts while reading. Yeah I missed the fact that the users are internal because the functions are not static. I also don't see the point of keeping them. Tejun/Greg, should I send a patch on top of this one or do you prefer sending a new version? > (btw, why do we not have any locking around the root stats in > cgroup_base_stat_cputime_show()? There isn't anything preventing a > reader from seeing all zeroes if another reader runs the memset() on > cgrp->bstat, is there? Or double times...) (I think root_cgroup_cputime() operates on a stack allocated bstat, not cgrp->bstat)