From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C8B22288E3; Wed, 4 Mar 2026 15:13:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772637233; cv=none; b=RtpM/G+1GxDexK6w+82GKXh5QzVmzhVRwT8+btnXBe3gXE/8cuKL4ZzYgk//bNbrEGeZG8XiMAD04UC+9ERpz153YZVFyDLQlVk04ejllmAvPeH+pOY/tsEK95cGQGhfx/+piVaQP1O4buHTwhrr8T6vHoKvU6zjNNOiUKiUdNI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772637233; c=relaxed/simple; bh=8QWqZ7YNDPVF6gZQ/i7c6RdhDtv9wD4t4d1tq0V22Gs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uyb0rxgp6GZ874fEeQsgFNuVWbI4dZwOdg52CM5LKpAlzjFAhiK2NgVk/GvIkjWfJhBIfRADtL1gUjH/1NAps8FUn0m+FUW7ek9SZc1ewV76ZXrYrAoN4BgbhR6JO+X0KZsoJtu7hEHTX4Y3Tp8YZ3ASsvuF90VeJlQGREa5tsg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=vPvSHVMp; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="vPvSHVMp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B3CEC4CEF7; Wed, 4 Mar 2026 15:13:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772637233; bh=8QWqZ7YNDPVF6gZQ/i7c6RdhDtv9wD4t4d1tq0V22Gs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vPvSHVMpbDtgWdTEaP2C6BvxAyg9V9WE2471ZNAhaRLeQz/pv6ihmrNaoqAOmSBPf pVnNmTuJ7tWGqKJOQRMxgdvDSd1gsBypb43d5flxEX+PKJMg68CHlGuUIqLTiCFFuz rKc1J8WJC8Pzjhh2VbH7q/t8+THOPWP+XMsLDTbTJ56nsjnrtQHCWj3p6bIBLwDZUH dsnB+x2CRDMw3WeW5B2royvEVABcmYe086q2XeWwyM46Zbx4dnV3V7Lbti9KtpkpPj JUMdnVwEMKWupt4mteIGkGEu0zZYa8FXy9APLll3zPJtiAf8bRT1EMQssv7I9hkYG+ tPEEdQ/fLqUqQ== From: SeongJae Park To: Dmitry Ilvokhin Cc: SeongJae Park , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Axel Rasmussen , Yuanchu Xie , Wei Xu , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , "Rafael J. Wysocki" , Pavel Machek , Len Brown , Brendan Jackman , Johannes Weiner , Zi Yan , Oscar Salvador , Qi Zheng , Shakeel Butt , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: Re: [PATCH v4 4/5] mm: rename zone->lock to zone->_lock Date: Wed, 4 Mar 2026 07:13:34 -0800 Message-ID: <20260304151335.172572-1-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-trace-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit On Wed, 4 Mar 2026 13:01:45 +0000 Dmitry Ilvokhin wrote: > On Tue, Mar 03, 2026 at 05:50:34PM -0800, SeongJae Park wrote: > > On Tue, 3 Mar 2026 14:25:55 +0000 Dmitry Ilvokhin wrote: > > > > > On Mon, Mar 02, 2026 at 02:37:43PM -0800, Andrew Morton wrote: > > > > On Mon, 2 Mar 2026 15:10:03 +0100 "Vlastimil Babka (SUSE)" wrote: > > > > > > > > > On 2/27/26 17:00, Dmitry Ilvokhin wrote: > > > > > > This intentionally breaks direct users of zone->lock at compile time so > > > > > > all call sites are converted to the zone lock wrappers. Without the > > > > > > rename, present and future out-of-tree code could continue using > > > > > > spin_lock(&zone->lock) and bypass the wrappers and tracing > > > > > > infrastructure. > > > > > > > > > > > > No functional change intended. > > > > > > > > > > > > Suggested-by: Andrew Morton > > > > > > Signed-off-by: Dmitry Ilvokhin > > > > > > Acked-by: Shakeel Butt > > > > > > Acked-by: SeongJae Park > > > > > > > > > > I see some more instances of 'zone->lock' in comments in > > > > > include/linux/mmzone.h and under Documentation/ but otherwise LGTM. > > > > > > > > > > > > > I fixed (most of) that in the previous version but my fix was lost. > > > > > > Thanks for the fixups, Andrew. > > > > > > I still see a few 'zone->lock' references in Documentation remain on > > > mm-new. This patch cleans them up, as noted by Vlastimil. > > > > > > I'm happy to adjust this patch if anything else needs attention. > > > > > > From 9142d5a8b60038fa424a6033253960682e5a51f4 Mon Sep 17 00:00:00 2001 > > > From: Dmitry Ilvokhin > > > Date: Tue, 3 Mar 2026 06:13:13 -0800 > > > Subject: [PATCH] mm: fix remaining zone->lock references > > > > > > Signed-off-by: Dmitry Ilvokhin > > > --- > > > Documentation/mm/physical_memory.rst | 4 ++-- > > > Documentation/trace/events-kmem.rst | 8 ++++---- > > > 2 files changed, 6 insertions(+), 6 deletions(-) > > > > > > diff --git a/Documentation/mm/physical_memory.rst b/Documentation/mm/physical_memory.rst > > > index b76183545e5b..e344f93515b6 100644 > > > --- a/Documentation/mm/physical_memory.rst > > > +++ b/Documentation/mm/physical_memory.rst > > > @@ -500,11 +500,11 @@ General > > > ``nr_isolate_pageblock`` > > > Number of isolated pageblocks. It is used to solve incorrect freepage counting > > > problem due to racy retrieving migratetype of pageblock. Protected by > > > - ``zone->lock``. Defined only when ``CONFIG_MEMORY_ISOLATION`` is enabled. > > > + ``zone_lock``. Defined only when ``CONFIG_MEMORY_ISOLATION`` is enabled. > > > > Dmitry's original patch [1] was doing 's/zone->lock/zone->_lock/', which aligns > > to my expectation. But this patch is doing 's/zone->lock/zone_lock/'. Same > > for the rest of this patch. > > > > I was initially thinking this is just a mistake, but I also found Andrew is > > doing same change [2], so I'm bit confused. Is this an intentional change? > > > > [1] https://lore.kernel.org/d61500c5784c64e971f4d328c57639303c475f81.1772206930.git.d@ilvokhin.com > > [2] https://lore.kernel.org/20260302143743.220eed4feb36d7572fe726cc@linux-foundation.org > > > > Good catch, thanks for pointing this out, SJ. > > Originally the mechanical rename was indeed zone->lock -> zone->_lock. > However, in Documentation I intentionally switched references to > zone_lock instead of zone->_lock. The reasoning is that _lock is now an > internal implementation detail, and direct access is discouraged. The > intended interface is via the zone_lock_*() / zone_unlock_*() wrappers, > so referencing zone_lock in documentation felt more appropriate than > mentioning the private struct field (zone->_lock). Thank you for this nice and kind clarification, Dmitry! I agree mentioning zone_[un]lock_*() helpers instead of the hidden member (zone->_lock) can be better. But, I'm concerned if people like me might not aware the intention under 'zone_lock'. If there is a well-known convention that allows people to know it is for 'zone_[un]lock_*()' helpers, making it more clear would be nice, in my humble opinion. If there is such a convention but I'm just missing it, please ignore. If I'm not, for eaxmaple, "protected by ``zone->lock``" could be re-wrote to "protected by ``zone_[un]lock_*()`` locking helpers" or, "protected by zone lock helper functions (``zone_[un]lock_*()``)" ? > > That said, I agree this creates inconsistency with the mechanical > rename, and I'm happy to adjust either way: either consistently refer > to the wrapper API, or keep documentation aligned with zone->_lock. > > I slightly prefer referring to the wrapper API, but don't have a strong > preference as long as we're consistent. I also think both approaches are good. But for the wrapper approach, I think giving more contexts rather than just ``zone_lock`` to readers would be nice. Thanks, SJ [...]