[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aVPtSNKRnnI88Euk@kernel.org>
Date: Tue, 30 Dec 2025 17:18:32 +0200
From: Mike Rapoport <rppt@...nel.org>
To: Cui Chao <cuichao1753@...tium.com.cn>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Joanthan Cameron <Jonathan.Cameron@...wei.com>,
wangyinfeng@...tium.com.cn, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm: numa_memblks: Identify the accurate NUMA ID of CFMW
Hi,
On Tue, Dec 30, 2025 at 05:27:50PM +0800, Cui Chao wrote:
> In some physical memory layout designs, the address space of CFMW
> resides between multiple segments of system memory belonging to
> the same NUMA node. In numa_cleanup_meminfo, these multiple segments
> of system memory are merged into a larger numa_memblk. When
> identifying which NUMA node the CFMW belongs to, it may be incorrectly
> assigned to the NUMA node of the merged system memory. To address this
Can you please provide an example of such memory layout?
> scenario, accurately identifying the correct NUMA node can be achieved
> by checking whether the region belongs to both numa_meminfo and
> numa_reserved_meminfo.
>
> Signed-off-by: Cui Chao <cuichao1753@...tium.com.cn>
> ---
> mm/numa_memblks.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/mm/numa_memblks.c b/mm/numa_memblks.c
> index 5b009a9cd8b4..1ef037f0e0e0 100644
> --- a/mm/numa_memblks.c
> +++ b/mm/numa_memblks.c
> @@ -573,7 +573,8 @@ int phys_to_target_node(u64 start)
> * Prefer online nodes, but if reserved memory might be
> * hot-added continue the search with reserved ranges.
> */
> - if (nid != NUMA_NO_NODE)
> + if (nid != NUMA_NO_NODE &&
> + meminfo_to_nid(&numa_reserved_meminfo, start) == NUMA_NO_NODE)
I'd suggest assigning the result of meminfo_to_nid(&numa_reserved_meminfo,
start) to a local variable and using that in if and return statements.
> return nid;
>
> return meminfo_to_nid(&numa_reserved_meminfo, start);
> --
> 2.33.0
>
>
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists