Messages in this thread |  | | From | Greentime Hu <> | Subject | [RFC PATCH v2 0/4] riscv: Add numa support for riscv64 platform | Date | Fri, 10 Jan 2020 18:46:23 +0800 |
| |
riscv: Add numa support for riscv64 platform
This implementation is based on arm64 porting. It is tested with qemu-system-riscv64, SiFive Unleashed board and OmniXtend FPGA platform.
There will be two nodes in /sys/devices/system/node if it is described in dts and CONFIG_NUMA is enabled. We can use numastat/numactl/numademo to see its status.
Changes in v2: - split this patch to more patches to be more readable - set cpu->hotplugable to 0 since it is not supported yet - add more explanation for moving unflatten_device_tree() to paging_init()
Greentime Hu (4): riscv: Add support pte_protnone and pmd_protnone if CONFIG_NUMA_BALANCING riscv: Move unflatten_device_tree() to paging_init() because riscv_numa_init() needs the dt information. riscv: Use variable this_cpu instead of smp_processor_id() riscv: Add numa support for riscv64 platform
arch/riscv/Kconfig | 30 ++- arch/riscv/include/asm/mmzone.h | 13 ++ arch/riscv/include/asm/numa.h | 46 ++++ arch/riscv/include/asm/pci.h | 10 + arch/riscv/include/asm/pgtable.h | 20 ++ arch/riscv/kernel/setup.c | 26 ++- arch/riscv/kernel/smpboot.c | 20 +- arch/riscv/mm/Makefile | 1 + arch/riscv/mm/init.c | 3 + arch/riscv/mm/numa.c | 372 +++++++++++++++++++++++++++++++ 10 files changed, 536 insertions(+), 5 deletions(-) create mode 100644 arch/riscv/include/asm/mmzone.h create mode 100644 arch/riscv/include/asm/numa.h create mode 100644 arch/riscv/mm/numa.c
-- 2.17.1
|  |