This patch series first fixes missing reallocations of some Virtqueue and device metadata.
Then, it improves the numa_realloc function by using rte_realloc_socket API that takes care of the memcpy & freeing. The VQs NUMA IDs are also saved in the VQ metadata and used for every allocations so that all allocations before NUMA realloc are on the same VQ, later ones are allocated on the proper one. Finally inflight feature metada are converted from calloc() to rte_zmalloc_socket() and their reallocation is handled in numa_realloc(). Changes in v3: ============== - Fix copy/paste issues (David) - Ad new patch to fix multiqueue reallocation Changes in v2: ============== - Add missing NUMA realloc in patch 6 Maxime Coquelin (7): vhost: fix missing memory table NUMA realloc vhost: fix missing guest pages table NUMA realloc vhost: fix missing cache logging NUMA realloc vhost: fix NUMA reallocation with multiqueue vhost: improve NUMA reallocation vhost: allocate all data on same node as virtqueue vhost: convert inflight data to DPDK allocation API lib/vhost/vhost.c | 38 +++--- lib/vhost/vhost.h | 1 + lib/vhost/vhost_user.c | 266 ++++++++++++++++++++++++++--------------- 3 files changed, 188 insertions(+), 117 deletions(-) -- 2.31.1