diff options
| author | Eder Zulian <ezulian@redhat.com> | 2026-07-14 20:56:48 +0200 |
|---|---|---|
| committer | Paul Walmsley <pjw@kernel.org> | 2026-07-21 16:59:13 -0600 |
| commit | 76e885f2b89d9e88291c1864e5f89a6b180768da (patch) | |
| tree | d0da5e367684974262965950ef6a2902044a60e4 /rust/helpers/cpu.c | |
| parent | bc9084ce2831b3c923c24b36b4c7b18020208f69 (diff) | |
| download | linux-next-76e885f2b89d9e88291c1864e5f89a6b180768da.tar.gz linux-next-76e885f2b89d9e88291c1864e5f89a6b180768da.zip | |
riscv: mm: Move dma_contiguous_reserve() after NUMA initialization
Move the dma_contiguous_reserve() call from setup_bootmem() to
misc_mem_init(), placing it after arch_numa_init(). This ensures that
NUMA topology is initialized when reserving contiguous memory for DMA.
Tested with CMA_SIZE_PERNUMA enabled and two NUMA nodes on QEMU:
qemu-system-riscv64 \
-machine virt \
-nographic \
-smp 2 -m 512M \
-numa node,nodeid=0,cpus=0,memdev=m0 \
-numa node,nodeid=1,cpus=1,memdev=m1 \
-object memory-backend-ram,id=m0,size=256M \
-object memory-backend-ram,id=m1,size=256M \
-kernel arch/riscv/boot/Image \
-append "console=ttyS0 earlycon loglevel=7 cma=16M"
Unpatched kernel's log (one global CMA pool and no per-nodepools, 16 MiB
cma-reserved):
[ 0.000000] cma: Reserved 16 MiB at 0x000000009ee00000
...
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000008fffffff]
[ 0.000000] Initmem setup node 1 [mem 0x0000000090000000-0x000000009fffffff]
...
[ 0.056397] smp: Brought up 2 nodes, 2 CPUs
[ 0.066135] Memory: 449288K/524288K available (12279K kernel code, 5980K rwdata, 6144K rodata, 2467K init, 482K bss, 54504K reserved, 16384K cma-reserved)
Patched kernel's log (three CMA pools are created, 48 MiB total),
[ 0.000000] cma: Reserved 16 MiB at 0x000000009ee00000
[ 0.000000] cma: Reserved 16 MiB at 0x000000008ee00000
[ 0.000000] cma: Reserved 16 MiB at 0x000000009de00000
...
[ 0.054251] smp: Brought up 2 nodes, 2 CPUs
[ 0.064082] Memory: 416520K/524288K available (12279K kernel code, 5980K rwdata, 6144K rodata, 2467K init, 482K bss, 54504K reserved, 49152K cma-reserved)
Signed-off-by: Eder Zulian <ezulian@redhat.com>
Link: https://patch.msgid.link/20260714185648.1082483-1-ezulian@redhat.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
Diffstat (limited to 'rust/helpers/cpu.c')
0 files changed, 0 insertions, 0 deletions
