Message ID | 1701970793-6865-17-git-send-email-si-wei.liu@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vdpa-net: improve migration downtime through descriptor ASID and persistent IOTLB | expand |
On Fri, Dec 8, 2023 at 2:50 AM Si-Wei Liu <si-wei.liu@oracle.com> wrote: > > svq_switching indicates the case where SVQ mode change > is on going. Positive (1) means switching from the > normal passthrough mode to SVQ mode, and negative (-1) > meaning switch SVQ back to the passthrough; zero (0) > indicates that there's no SVQ mode switch taking place. Ok, so the previous patch forgot to describe the zero(0). And it looks to me we'd better use enum instead of the magic number here. Thanks > > Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com> > --- > net/vhost-vdpa.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c > index 7b8f047..04718b2 100644 > --- a/net/vhost-vdpa.c > +++ b/net/vhost-vdpa.c > @@ -320,6 +320,7 @@ static void vhost_vdpa_net_log_global_enable(VhostVDPAState *s, bool enable) > data_queue_pairs = n->multiqueue ? n->max_queue_pairs : 1; > cvq = virtio_vdev_has_feature(vdev, VIRTIO_NET_F_CTRL_VQ) ? > n->max_ncs - n->max_queue_pairs : 0; > + v->shared->svq_switching = enable ? 1 : -1; > /* > * TODO: vhost_net_stop does suspend, get_base and reset. We can be smarter > * in the future and resume the device if read-only operations between > @@ -332,6 +333,7 @@ static void vhost_vdpa_net_log_global_enable(VhostVDPAState *s, bool enable) > if (unlikely(r < 0)) { > error_report("unable to start vhost net: %s(%d)", g_strerror(-r), -r); > } > + v->shared->svq_switching = 0; > } > > static void vdpa_net_migration_state_notifier(Notifier *notifier, void *data) > -- > 1.8.3.1 >
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index 7b8f047..04718b2 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -320,6 +320,7 @@ static void vhost_vdpa_net_log_global_enable(VhostVDPAState *s, bool enable) data_queue_pairs = n->multiqueue ? n->max_queue_pairs : 1; cvq = virtio_vdev_has_feature(vdev, VIRTIO_NET_F_CTRL_VQ) ? n->max_ncs - n->max_queue_pairs : 0; + v->shared->svq_switching = enable ? 1 : -1; /* * TODO: vhost_net_stop does suspend, get_base and reset. We can be smarter * in the future and resume the device if read-only operations between @@ -332,6 +333,7 @@ static void vhost_vdpa_net_log_global_enable(VhostVDPAState *s, bool enable) if (unlikely(r < 0)) { error_report("unable to start vhost net: %s(%d)", g_strerror(-r), -r); } + v->shared->svq_switching = 0; } static void vdpa_net_migration_state_notifier(Notifier *notifier, void *data)
svq_switching indicates the case where SVQ mode change is on going. Positive (1) means switching from the normal passthrough mode to SVQ mode, and negative (-1) meaning switch SVQ back to the passthrough; zero (0) indicates that there's no SVQ mode switch taking place. Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com> --- net/vhost-vdpa.c | 2 ++ 1 file changed, 2 insertions(+)