Am 15.05.24 um 04:09 schrieb chang-liu22@xxxxxxxxxxxxxxxxxxxxx:
Hi all, I'm doing a benchmark in Linux kernel. I want to make sure all the benchmarked kernel code is stored in the same NUMA node as the CPU that runs the code. I implement a system call to trigger the execution of the benchmarked kernel code, so I can specify the CPU to run the benchmarked code by binding CPU in userspace. However, I cannot guarantee the kernel code is stored in the same NUMA node as the CPU that runs the benchmark. I wonder is there any way that I can force Linux kernel code to be loaded in a specific NUMA node during the booting process. I've searched "The kernel’s command-line parameters" document (https://docs.kernel.org/admin-guide/kernel-parameters.html) using "numa" as a keyword, but did not find a useful parameter. I'd be very grateful if anyone can help :)
I recall patches to replicate the kernel code multiple times, once per NUMA node. See https://lwn.net/Articles/956900/ ("Kernel-text replication on NUMA systems").
Maybe that helps. -- Thanks, David / dhildenb