All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zi Yan" <ziy@nvidia.com>
To: "Gregory Price (Meta)" <gourry@gourry.net>, <linux-mm@kvack.org>
Cc: <linux-trace-kernel@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <kernel-team@meta.com>,
	<akpm@linux-foundation.org>, <david@kernel.org>, <ljs@kernel.org>,
	<liam@infradead.org>, <vbabka@kernel.org>, <rppt@kernel.org>,
	<surenb@google.com>, <mhocko@suse.com>, <kasong@tencent.com>,
	<qi.zheng@linux.dev>, <shakeel.butt@linux.dev>,
	<baohua@kernel.org>, <axelrasmussen@google.com>,
	<yuanchu@google.com>, <weixugc@google.com>,
	<baoquan.he@linux.dev>, <baolin.wang@linux.alibaba.com>,
	<rientjes@google.com>, <rostedt@goodmis.org>,
	<mhiramat@kernel.org>, <mathieu.desnoyers@efficios.com>,
	<muchun.song@linux.dev>, <osalvador@suse.de>,
	<joshua.hahnjy@gmail.com>, <rakie.kim@sk.com>,
	<ying.huang@linux.alibaba.com>, <brendan.jackman@linux.dev>,
	<hannes@cmpxchg.org>, <bigeasy@linutronix.de>,
	<clrkwllms@kernel.org>, <nathan@kernel.org>,
	<ndesaulniers@google.com>, <morbo@google.com>,
	<justinstitt@google.com>, <Bessel.Wang@huawei.com>,
	<jiang.liu@huawei.com>, <mgorman@techsingularity.net>,
	<anshuman.khandual@arm.com>
Subject: Re: [PATCH v5 12/12] mm/mmzone: remove zonelist_node_idx()
Date: Mon, 02 Nov 2026 22:15:59 -0500	[thread overview]
Message-ID: <DML8ZOGLGOY6.2KBZ8XOKBAU15@nvidia.com> (raw)
In-Reply-To: <20261101021340.2251928-13-gourry@gourry.net>

On Sat Oct 31, 2026 at 10:13 PM EDT, Gregory Price (Meta) wrote:
> zonelist_node_idx() looks like it returns a field of the zoneref, as
> zonelist_zone_idx() does, but it loads the zone from the slot again.
>
> Memory hotplug rewrites zonelists in place, so a caller that has already
> checked the slot can get a different zone, or the NULL terminator, from
> that second load.
>
> __next_zones_zonelist() and mempolicy_slab_node() had this bug.
>
> Remove the helper and open-code it in its two remaining callers, neither
> of which can race with a rebuild.  local_memory_node() runs either inside
> __build_all_zonelists() or during CPU bring-up, which holds
> cpu_hotplug_lock for write and so excludes mem_hotplug_begin().
>
> The lookup in mpol_misplaced() is unreachable: it needs a policy with
> MPOL_F_MOF but not MPOL_F_MORON, and nothing sets one without the other.
>
> Signed-off-by: Gregory Price (Meta) <gourry@gourry.net>
> ---
>  include/linux/mmzone.h | 6 ------
>  mm/mempolicy.c         | 2 +-
>  mm/page_alloc.c        | 2 +-
>  3 files changed, 2 insertions(+), 8 deletions(-)
>
LGTM.

Reviewed-by: Zi Yan <ziy@nvidia.com>

-- 
Best Regards,
Yan, Zi



  reply	other threads:[~2026-11-03  3:16 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-01  2:13 [PATCH v5 0/12] mm: fix allocator races with memory hotplug Gregory Price (Meta)
2026-11-01  2:13 ` [PATCH v5 01/12] mm/page_alloc: reset can_retry_reserves when the slowpath restarts Gregory Price (Meta)
2026-11-01 19:52   ` Zi Yan
2026-11-01  2:13 ` [PATCH v5 02/12] mm/page_alloc: keep the pagesets of an empty zone Gregory Price (Meta)
2026-11-01 20:07   ` Zi Yan
2026-11-03 14:57     ` Vlastimil Babka (SUSE)
2026-11-03 16:04       ` Zi Yan
2026-11-01  2:13 ` [PATCH v5 03/12] mm, page_alloc: pass zone pointer to trace_reclaim_retry_zone Gregory Price (Meta)
2026-11-01 20:28   ` Zi Yan
2026-11-01  2:13 ` [PATCH v5 04/12] mm/page_alloc: detect zonelist rebuilds from memory hot-add Gregory Price (Meta)
2026-11-01 20:31   ` Zi Yan
2026-11-01  2:13 ` [PATCH v5 05/12] mm/mmzone: read the zoneref slot once in zonelist_zone() Gregory Price (Meta)
2026-11-03  2:54   ` Zi Yan
2026-11-01  2:13 ` [PATCH v5 06/12] mm/page_alloc: snapshot the preferred zone against shrink rebuilds Gregory Price (Meta)
2026-11-03  2:56   ` Zi Yan
2026-11-01  2:13 ` [PATCH v5 07/12] mm/mmzone: read each zoneref slot once when filtering by nodemask Gregory Price (Meta)
2026-11-03  3:01   ` Zi Yan
2026-11-03 15:00     ` Vlastimil Babka (SUSE)
2026-11-01  2:13 ` [PATCH v5 08/12] mm/page_alloc: retry allocations that raced with a zonelist rebuild Gregory Price (Meta)
2026-11-01  2:13 ` [PATCH v5 09/12] mm/hugetlb: retry the pool walk when the zonelist is rebuilt Gregory Price (Meta)
2026-11-01  2:13 ` [PATCH v5 10/12] mm/page_alloc: retry alloc_contig_pages() " Gregory Price (Meta)
2026-11-03  3:13   ` Zi Yan
2026-11-01  2:13 ` [PATCH v5 11/12] mm/mempolicy: read the zoneref slot once in mempolicy_slab_node() Gregory Price (Meta)
2026-11-03  3:14   ` Zi Yan
2026-11-01  2:13 ` [PATCH v5 12/12] mm/mmzone: remove zonelist_node_idx() Gregory Price (Meta)
2026-11-03  3:15   ` Zi Yan [this message]
2026-11-01 11:00 ` [PATCH v5 0/12] mm: fix allocator races with memory hotplug Vlastimil Babka (SUSE)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DML8ZOGLGOY6.2KBZ8XOKBAU15@nvidia.com \
    --to=ziy@nvidia.com \
    --cc=Bessel.Wang@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=anshuman.khandual@arm.com \
    --cc=axelrasmussen@google.com \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=baoquan.he@linux.dev \
    --cc=bigeasy@linutronix.de \
    --cc=brendan.jackman@linux.dev \
    --cc=clrkwllms@kernel.org \
    --cc=david@kernel.org \
    --cc=gourry@gourry.net \
    --cc=hannes@cmpxchg.org \
    --cc=jiang.liu@huawei.com \
    --cc=joshua.hahnjy@gmail.com \
    --cc=justinstitt@google.com \
    --cc=kasong@tencent.com \
    --cc=kernel-team@meta.com \
    --cc=liam@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=ljs@kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mgorman@techsingularity.net \
    --cc=mhiramat@kernel.org \
    --cc=mhocko@suse.com \
    --cc=morbo@google.com \
    --cc=muchun.song@linux.dev \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=osalvador@suse.de \
    --cc=qi.zheng@linux.dev \
    --cc=rakie.kim@sk.com \
    --cc=rientjes@google.com \
    --cc=rostedt@goodmis.org \
    --cc=rppt@kernel.org \
    --cc=shakeel.butt@linux.dev \
    --cc=surenb@google.com \
    --cc=vbabka@kernel.org \
    --cc=weixugc@google.com \
    --cc=ying.huang@linux.alibaba.com \
    --cc=yuanchu@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.