]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add NUMA support to powerpc
authorjhibbits <jhibbits@FreeBSD.org>
Sat, 13 Apr 2019 04:03:18 +0000 (04:03 +0000)
committerjhibbits <jhibbits@FreeBSD.org>
Sat, 13 Apr 2019 04:03:18 +0000 (04:03 +0000)
commit7061ad58c27321bc3a68bd776a871f0b260a4935
tree0306c5cfcc37c5180ad93776f5dd1dbca4aff111
parent81013cfae7bb5c66925ed483dfd7a6f71017f226
Add NUMA support to powerpc

Summary:
Initial NUMA support:
    - associate CPU with domain
    - associate memory ranges with domain
    - identify domain for devices
    - limit device interrupt binding to appropriate domain

- Additionally fixes a bug in the setting of Maxmem which led to
  only memory attached to the first socket being enabled for DMA

A pmap variant can opt in to numa support by by calling `numa_mem_regions`
at the end of pmap_bootstrap - registering the corresponding ranges with the
VM.

This yields a ~20% improvement in build times of llvm on dual socket POWER9
over non-NUMA.

Original patch by mmacy.

Differential Revision: https://reviews.freebsd.org/D17933
16 files changed:
sys/powerpc/aim/mmu_oea64.c
sys/powerpc/conf/GENERIC64
sys/powerpc/include/intr_machdep.h
sys/powerpc/include/ofw_machdep.h
sys/powerpc/include/param.h
sys/powerpc/include/platform.h
sys/powerpc/include/smp.h
sys/powerpc/ofw/ofw_machdep.c
sys/powerpc/ofw/ofw_pcibus.c
sys/powerpc/powernv/opal_pci.c
sys/powerpc/powernv/platform_powernv.c
sys/powerpc/powerpc/intr_machdep.c
sys/powerpc/powerpc/mp_machdep.c
sys/powerpc/powerpc/nexus.c
sys/powerpc/powerpc/platform.c
sys/powerpc/powerpc/platform_if.m