Hi Maxime, > -----Original Message----- > From: Maxime Coquelin <[email protected]> > Sent: Friday, June 18, 2021 10:04 PM > To: [email protected]; [email protected]; Xia, Chenbo > <[email protected]> > Cc: Maxime Coquelin <[email protected]> > Subject: [PATCH v6 3/7] vhost: fix missing cache logging NUMA realloc > > When the guest allocates virtqueues on a different NUMA node > than the one the Vhost metadata are allocated, both the Vhost > device struct and the virtqueues struct are reallocated. > > However, reallocating the log cache on the new NUMA node was > not done. This patch fixes this by reallocating it if it has > been allocated already, which means a live-migration is > on-going. > > Fixes: 1818a63147fb ("vhost: move dirty logging cache out of virtqueue")
This commit is of 21.05, although LTS maintainers don't maintain non-LTS stable releases now, I guess it's still better to add 'cc stable tag' in case anyone volunteers to do that? Thanks, Chenbo > > Signed-off-by: Maxime Coquelin <[email protected]> > --- > lib/vhost/vhost_user.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c > index 5fb055ea2e..82adf80fe5 100644 > --- a/lib/vhost/vhost_user.c > +++ b/lib/vhost/vhost_user.c > @@ -545,6 +545,16 @@ numa_realloc(struct virtio_net *dev, int index) > vq->batch_copy_elems = new_batch_copy_elems; > } > > + if (vq->log_cache) { > + struct log_cache_entry *log_cache; > + > + log_cache = rte_realloc_socket(vq->log_cache, > + sizeof(struct log_cache_entry) * > VHOST_LOG_CACHE_NR, > + 0, newnode); > + if (log_cache) > + vq->log_cache = log_cache; > + } > + > rte_free(old_vq); > } > > -- > 2.31.1

