Hi, This spin attempts to cover all suggestions and concerns pointed out by David Gibson in the v2 review.
The patches were rebased with David's ppc-for-5.2 at 615ae3763144. They can also be cloned from https://github.com/danielhb/qemu/tree/spapr_numa_v3. Changes from v2: - patches 1 and 2 from v2 -> already pushed to ppc-for-5.2 - patch 1 (former 3): * numa_assoc_array moved to SpaprMachineState - patch 3 (former 5): * use memcpy * fix index increment to use MAX_DISTANCE_REF_POINTS - patch 4 (former 6): * revamped. NVLink2 associativity is now calculated in spapr_numa_associativity_init(). GPU code will use the same helper everyone but vcpus uses to write the associativity DT - patch 5 - new - patch 6 - new - patch 7: * no more brazilian portuguese notes in the commit message * change the code to handle an arbitrary vcpu associativity array, retrieved with a new helper added by patch 6. v2 link: https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg00261.html Daniel Henrique Barboza (7): spapr: introduce SpaprMachineState::numa_assoc_array spapr, spapr_numa: handle vcpu ibm,associativity spapr, spapr_numa: move lookup-arrays handling to spapr_numa.c spapr_numa: move NVLink2 associativity handling to spapr_numa.c spapr: move h_home_node_associativity to spapr_numa.c spapr_numa: create a vcpu associativity helper spapr_numa: use spapr_numa_get_vcpu_assoc() in home_node hcall hw/ppc/spapr.c | 65 +++--------- hw/ppc/spapr_hcall.c | 37 +------ hw/ppc/spapr_numa.c | 184 ++++++++++++++++++++++++++++++++++ hw/ppc/spapr_nvdimm.c | 19 ++-- hw/ppc/spapr_pci.c | 9 +- hw/ppc/spapr_pci_nvlink2.c | 20 +--- include/hw/ppc/spapr.h | 12 +++ include/hw/ppc/spapr_numa.h | 19 ++++ include/hw/ppc/spapr_nvdimm.h | 2 +- 9 files changed, 242 insertions(+), 125 deletions(-) -- 2.26.2
