Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'fixes-2026-02-21' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock

Pull memblock fix from Mike Rapoport:
"Fix detection of NUMA node for CXL windows

phys_to_target_node() may assign a CXL Fixed Memory Window to the
wrong NUMA node when a CXL node resides in the gap of discontinuous
System RAM node.

Fix this by checking both numa_meminfo and numa_reserved_meminfo,
preferring the reserved NID when the address appears in both"

* tag 'fixes-2026-02-21' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
mm: numa_memblks: Identify the accurate NUMA ID of CFMW

+5 -4
+5 -4
mm/numa_memblks.c
··· 570 570 int phys_to_target_node(u64 start) 571 571 { 572 572 int nid = meminfo_to_nid(&numa_meminfo, start); 573 + int reserved_nid = meminfo_to_nid(&numa_reserved_meminfo, start); 573 574 574 575 /* 575 - * Prefer online nodes, but if reserved memory might be 576 - * hot-added continue the search with reserved ranges. 576 + * Prefer online nodes unless the address is also described 577 + * by reserved ranges, in which case use the reserved nid. 577 578 */ 578 - if (nid != NUMA_NO_NODE) 579 + if (nid != NUMA_NO_NODE && reserved_nid == NUMA_NO_NODE) 579 580 return nid; 580 581 581 - return meminfo_to_nid(&numa_reserved_meminfo, start); 582 + return reserved_nid; 582 583 } 583 584 EXPORT_SYMBOL_GPL(phys_to_target_node); 584 585