mbox series

[v5,0/4] vhost: Fix and improve NUMA reallocation

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

Message

Maxime Coquelin June 18, 2021, 1:57 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 v5:
==============
- Do not reallocate if VS is ready (Chenbo)
- Fix typos & cosmetics (Chenbo)
- Improve numa_realloc() comment (Chenbo)

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 (4):
  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

 lib/vhost/vhost_user.c | 54 ++++++++++++++++++++++++++++++++++++++----
 1 file changed, 49 insertions(+), 5 deletions(-)
  

Comments

Maxime Coquelin June 18, 2021, 2:04 p.m. UTC | #1
On 6/18/21 3:57 PM, Maxime Coquelin wrote:
> 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 v5:
> ==============
> - Do not reallocate if VS is ready (Chenbo)
> - Fix typos & cosmetics (Chenbo)
> - Improve numa_realloc() comment (Chenbo)
> 
> 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 (4):
>   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
> 
>  lib/vhost/vhost_user.c | 54 ++++++++++++++++++++++++++++++++++++++----
>  1 file changed, 49 insertions(+), 5 deletions(-)
> 

Sorry, please discard this revision, 3 patches are missing.
V6 sent.

Maxime