mbox series

[v7,0/7] pSeries FORM2 affinity support

Message ID 20210916013004.272059-1-danielhb413@gmail.com (mailing list archive)
Headers show
Series pSeries FORM2 affinity support | expand

Message

Daniel Henrique Barboza Sept. 16, 2021, 1:29 a.m. UTC
Hi,

In this version the biggest change is the end of the numa_assoc_array
struct in the machine state. The write_dt() functions are now retrieving
the current NUMA associativity array by checking CAS first.

This change allowed for several simplifications, e.g. we don't need
a reset() function to be called after CAS or in spapr_post_load().
Arrays are now statically allocated.

I also catched a last minute bug during my tests. See patch 7 for more
info.

Changes from v6:
- patch 1:
  * added Greg's r-b
- patch 2:
  * added the missing NUMA nodes number check
  * added Greg's r-b
- patch 3 (former patch 4):
  * no changes.
- former patch 3 (associativity_reset()): dropped
- patch 4 (new):
  * added get_associativity()
  * do not allocate FORM1_assoc_array in the heap
- patch 5:
  * fixed typo
  * added new check function to be called in CAS
- patch 6:
  * do not allocate FORM2_assoc_array in the heap
- patch 7 (new):
  * FORM2 fixes to handle the implicit added QEMU NUMA node when there's
  no NUMA node added by the user.
- v6 link: https://lists.gnu.org/archive/html/qemu-devel/2021-09/msg02892.html


Daniel Henrique Barboza (7):
  spapr_numa.c: split FORM1 code into helpers
  spapr_numa.c: scrap 'legacy_numa' concept
  spapr_numa.c: parametrize FORM1 macros
  spapr_numa.c: rename numa_assoc_array to FORM1_assoc_array
  spapr: move FORM1 verifications to post CAS
  spapr_numa.c: FORM2 NUMA affinity support
  spapr_numa.c: handle auto NUMA node with no distance info

 hw/ppc/spapr.c              |  41 +---
 hw/ppc/spapr_hcall.c        |   7 +
 hw/ppc/spapr_numa.c         | 380 ++++++++++++++++++++++++++++++------
 include/hw/ppc/spapr.h      |  35 ++--
 include/hw/ppc/spapr_numa.h |   1 +
 include/hw/ppc/spapr_ovec.h |   1 +
 6 files changed, 354 insertions(+), 111 deletions(-)