mbox series

[v4,0/7] vhost: Fix and improve NUMA reallocation

Message ID 20210617153739.178011-1-maxime.coquelin@redhat.com (mailing list archive)
Headers show
Series vhost: Fix and improve NUMA reallocation | expand


Maxime Coquelin June 17, 2021, 3:37 p.m. UTC
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 v4:
- Check Vhose device numa node to avoid rte_realloc_socket
  to realloc even if already right node/size/align.

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 | 269 ++++++++++++++++++++++++++---------------
 3 files changed, 193 insertions(+), 115 deletions(-)