Mike Rapoport wrote:
From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Hi,
Following the discussion about handling of CXL fixed memory windows on
arm64 [1] I decided to bite the bullet and move numa_memblks from x86 to
the generic code so they will be available on arm64/riscv and maybe on
loongarch sometime later.
While it could be possible to use memblock to describe CXL memory windows,
it currently lacks notion of unpopulated memory ranges and numa_memblks
does implement this.
Another reason to make numa_memblks generic is that both arch_numa (arm64
and riscv) and loongarch use trimmed copy of x86 code although there is no
fundamental reason why the same code cannot be used on all these platforms.
Having numa_memblks in mm/ will make it's interaction with ACPI and FDT
more consistent and I believe will reduce maintenance burden.
And with generic numa_memblks it is (almost) straightforward to enable NUMA
emulation on arm64 and riscv.
Hey Mike,
So interesting to see this come full circle and instead of moving
numa_memblks to memblock, just uplevel numa_memblks. From the
perspective of having numa_memblks enhancements work for more
architectures this gets an enthusiastic thumbs up from me. Let me go
look at the details...