* [RFC PATCH 1/5] vhost: fix missing virtqueue lock protection [not found] <20220328121758.26632-1-david.marchand@redhat.com> @ 2022-03-28 12:17 ` David Marchand 2022-03-28 12:17 ` [RFC PATCH 3/5] vhost: fix async access David Marchand ` (2 subsequent siblings) 3 siblings, 0 replies; 10+ messages in thread From: David Marchand @ 2022-03-28 12:17 UTC (permalink / raw) To: dev; +Cc: maxime.coquelin, chenbo.xia, stable, Yuanhan Liu, Stefan Hajnoczi From: Maxime Coquelin <maxime.coquelin@redhat.com> This patch ensures virtqueue metadata are not being modified while rte_vhost_vring_call() is executed. Fixes: 6c299bb7322f ("vhost: introduce vring call API") Cc: stable@dpdk.org Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com> --- This is the same as: https://patchwork.dpdk.org/project/dpdk/patch/20220324124638.32672-2-maxime.coquelin@redhat.com/ --- lib/vhost/vhost.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index bc88148347..2f96a28dac 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -1291,11 +1291,15 @@ rte_vhost_vring_call(int vid, uint16_t vring_idx) if (!vq) return -1; + rte_spinlock_lock(&vq->access_lock); + if (vq_is_packed(dev)) vhost_vring_call_packed(dev, vq); else vhost_vring_call_split(dev, vq); + rte_spinlock_unlock(&vq->access_lock); + return 0; } -- 2.23.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [RFC PATCH 3/5] vhost: fix async access [not found] <20220328121758.26632-1-david.marchand@redhat.com> 2022-03-28 12:17 ` [RFC PATCH 1/5] vhost: fix missing virtqueue lock protection David Marchand @ 2022-03-28 12:17 ` David Marchand [not found] ` <20220330134956.18927-1-david.marchand@redhat.com> [not found] ` <20220411110013.18624-1-david.marchand@redhat.com> 3 siblings, 0 replies; 10+ messages in thread From: David Marchand @ 2022-03-28 12:17 UTC (permalink / raw) To: dev; +Cc: maxime.coquelin, chenbo.xia, stable, Patrick Fu, Jiayu Hu vq->async is protected with vq->access_lock. Fixes: eb666d24085f ("vhost: fix async unregister deadlock") Fixes: 0c0935c5f794 ("vhost: allow to check in-flight packets for async vhost") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- This has been reported by Jiayu too: https://patchwork.dpdk.org/project/dpdk/patch/20220328020754.1155063-1-jiayu.hu@intel.com/ --- lib/vhost/vhost.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index 863cd9131e..9e6ca506ff 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -1753,27 +1753,23 @@ rte_vhost_async_channel_unregister(int vid, uint16_t queue_id) if (vq == NULL) return ret; - ret = 0; - - if (!vq->async) - return ret; - if (vhost_spinlock_trylock(&vq->access_lock) == 0) { VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async channel, virtqueue busy.\n", dev->ifname); - return -1; + return ret; } - if (vq->async->pkts_inflight_n) { + if (!vq->async) { + ret = 0; + } else if (vq->async->pkts_inflight_n) { VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async channel.\n", dev->ifname); VHOST_LOG_CONFIG(ERR, "(%s) inflight packets must be completed before unregistration.\n", dev->ifname); - ret = -1; - goto out; + } else { + vhost_free_async_mem(vq); + ret = 0; } - vhost_free_async_mem(vq); -out: vhost_spinlock_unlock(&vq->access_lock); return ret; @@ -1891,9 +1887,6 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id) if (vq == NULL) return ret; - if (!vq->async) - return ret; - if (vhost_spinlock_trylock(&vq->access_lock) == 0) { VHOST_LOG_CONFIG(DEBUG, "(%s) failed to check in-flight packets. virtqueue busy.\n", @@ -1901,7 +1894,9 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id) return ret; } - ret = vq->async->pkts_inflight_n; + if (vq->async) + ret = vq->async->pkts_inflight_n; + vhost_spinlock_unlock(&vq->access_lock); return ret; -- 2.23.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20220330134956.18927-1-david.marchand@redhat.com>]
* [RFC PATCH v2 1/9] vhost: fix missing virtqueue lock protection [not found] ` <20220330134956.18927-1-david.marchand@redhat.com> @ 2022-03-30 13:49 ` David Marchand 2022-03-30 13:49 ` [RFC PATCH v2 4/9] vhost: fix async access David Marchand 1 sibling, 0 replies; 10+ messages in thread From: David Marchand @ 2022-03-30 13:49 UTC (permalink / raw) To: dev Cc: maxime.coquelin, chenbo.xia, jiayu.hu, yuanx.wang, xuan.ding, stable, Yuanhan Liu, Stefan Hajnoczi From: Maxime Coquelin <maxime.coquelin@redhat.com> This patch ensures virtqueue metadata are not being modified while rte_vhost_vring_call() is executed. Fixes: 6c299bb7322f ("vhost: introduce vring call API") Cc: stable@dpdk.org Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com> --- lib/vhost/vhost.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index bc88148347..2f96a28dac 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -1291,11 +1291,15 @@ rte_vhost_vring_call(int vid, uint16_t vring_idx) if (!vq) return -1; + rte_spinlock_lock(&vq->access_lock); + if (vq_is_packed(dev)) vhost_vring_call_packed(dev, vq); else vhost_vring_call_split(dev, vq); + rte_spinlock_unlock(&vq->access_lock); + return 0; } -- 2.23.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [RFC PATCH v2 4/9] vhost: fix async access [not found] ` <20220330134956.18927-1-david.marchand@redhat.com> 2022-03-30 13:49 ` [RFC PATCH v2 1/9] vhost: fix missing virtqueue lock protection David Marchand @ 2022-03-30 13:49 ` David Marchand 2022-03-31 8:00 ` Maxime Coquelin 2022-04-04 6:57 ` Pai G, Sunil 1 sibling, 2 replies; 10+ messages in thread From: David Marchand @ 2022-03-30 13:49 UTC (permalink / raw) To: dev Cc: maxime.coquelin, chenbo.xia, jiayu.hu, yuanx.wang, xuan.ding, stable, Patrick Fu vq->async accesses must be protected with vq->access_lock. Fixes: eb666d24085f ("vhost: fix async unregister deadlock") Fixes: 0c0935c5f794 ("vhost: allow to check in-flight packets for async vhost") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- lib/vhost/vhost.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index 2f96a28dac..a93e41f314 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -1753,27 +1753,23 @@ rte_vhost_async_channel_unregister(int vid, uint16_t queue_id) if (vq == NULL) return ret; - ret = 0; - - if (!vq->async) - return ret; - if (!rte_spinlock_trylock(&vq->access_lock)) { VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async channel, virtqueue busy.\n", dev->ifname); - return -1; + return ret; } - if (vq->async->pkts_inflight_n) { + if (!vq->async) { + ret = 0; + } else if (vq->async->pkts_inflight_n) { VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async channel.\n", dev->ifname); VHOST_LOG_CONFIG(ERR, "(%s) inflight packets must be completed before unregistration.\n", dev->ifname); - ret = -1; - goto out; + } else { + vhost_free_async_mem(vq); + ret = 0; } - vhost_free_async_mem(vq); -out: rte_spinlock_unlock(&vq->access_lock); return ret; @@ -1891,9 +1887,6 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id) if (vq == NULL) return ret; - if (!vq->async) - return ret; - if (!rte_spinlock_trylock(&vq->access_lock)) { VHOST_LOG_CONFIG(DEBUG, "(%s) failed to check in-flight packets. virtqueue busy.\n", @@ -1901,7 +1894,9 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id) return ret; } - ret = vq->async->pkts_inflight_n; + if (vq->async) + ret = vq->async->pkts_inflight_n; + rte_spinlock_unlock(&vq->access_lock); return ret; -- 2.23.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC PATCH v2 4/9] vhost: fix async access 2022-03-30 13:49 ` [RFC PATCH v2 4/9] vhost: fix async access David Marchand @ 2022-03-31 8:00 ` Maxime Coquelin 2022-03-31 10:23 ` Hu, Jiayu 2022-04-04 6:57 ` Pai G, Sunil 1 sibling, 1 reply; 10+ messages in thread From: Maxime Coquelin @ 2022-03-31 8:00 UTC (permalink / raw) To: David Marchand, dev Cc: chenbo.xia, jiayu.hu, yuanx.wang, xuan.ding, stable, Patrick Fu Hi Jiayu, On 3/30/22 15:49, David Marchand wrote: > vq->async accesses must be protected with vq->access_lock. > > Fixes: eb666d24085f ("vhost: fix async unregister deadlock") > Fixes: 0c0935c5f794 ("vhost: allow to check in-flight packets for async vhost") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > lib/vhost/vhost.c | 25 ++++++++++--------------- > 1 file changed, 10 insertions(+), 15 deletions(-) Could you please test and review below patch? We may want to apply it early, before the annotation series is applied. Thanks! Maxime > diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c > index 2f96a28dac..a93e41f314 100644 > --- a/lib/vhost/vhost.c > +++ b/lib/vhost/vhost.c > @@ -1753,27 +1753,23 @@ rte_vhost_async_channel_unregister(int vid, uint16_t queue_id) > if (vq == NULL) > return ret; > > - ret = 0; > - > - if (!vq->async) > - return ret; > - > if (!rte_spinlock_trylock(&vq->access_lock)) { > VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async channel, virtqueue busy.\n", > dev->ifname); > - return -1; > + return ret; > } > > - if (vq->async->pkts_inflight_n) { > + if (!vq->async) { > + ret = 0; > + } else if (vq->async->pkts_inflight_n) { > VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async channel.\n", dev->ifname); > VHOST_LOG_CONFIG(ERR, "(%s) inflight packets must be completed before unregistration.\n", > dev->ifname); > - ret = -1; > - goto out; > + } else { > + vhost_free_async_mem(vq); > + ret = 0; > } > > - vhost_free_async_mem(vq); > -out: > rte_spinlock_unlock(&vq->access_lock); > > return ret; > @@ -1891,9 +1887,6 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id) > if (vq == NULL) > return ret; > > - if (!vq->async) > - return ret; > - > if (!rte_spinlock_trylock(&vq->access_lock)) { > VHOST_LOG_CONFIG(DEBUG, > "(%s) failed to check in-flight packets. virtqueue busy.\n", > @@ -1901,7 +1894,9 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id) > return ret; > } > > - ret = vq->async->pkts_inflight_n; > + if (vq->async) > + ret = vq->async->pkts_inflight_n; > + > rte_spinlock_unlock(&vq->access_lock); > > return ret; ^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [RFC PATCH v2 4/9] vhost: fix async access 2022-03-31 8:00 ` Maxime Coquelin @ 2022-03-31 10:23 ` Hu, Jiayu 0 siblings, 0 replies; 10+ messages in thread From: Hu, Jiayu @ 2022-03-31 10:23 UTC (permalink / raw) To: Maxime Coquelin, David Marchand, dev Cc: Xia, Chenbo, Wang, YuanX, Ding, Xuan, stable, Patrick Fu > -----Original Message----- > From: Maxime Coquelin <maxime.coquelin@redhat.com> > Sent: Thursday, March 31, 2022 4:00 PM > To: David Marchand <david.marchand@redhat.com>; dev@dpdk.org > Cc: Xia, Chenbo <chenbo.xia@intel.com>; Hu, Jiayu <jiayu.hu@intel.com>; > Wang, YuanX <yuanx.wang@intel.com>; Ding, Xuan <xuan.ding@intel.com>; > stable@dpdk.org; Patrick Fu <patrick.fu@intel.com> > Subject: Re: [RFC PATCH v2 4/9] vhost: fix async access > > Hi Jiayu, > > On 3/30/22 15:49, David Marchand wrote: > > vq->async accesses must be protected with vq->access_lock. > > > > Fixes: eb666d24085f ("vhost: fix async unregister deadlock") > > Fixes: 0c0935c5f794 ("vhost: allow to check in-flight packets for > > async vhost") > > Cc: stable@dpdk.org > > > > Signed-off-by: David Marchand <david.marchand@redhat.com> > > --- > > lib/vhost/vhost.c | 25 ++++++++++--------------- > > 1 file changed, 10 insertions(+), 15 deletions(-) > > Could you please test and review below patch? > We may want to apply it early, before the annotation series is applied. Sure, I will review them. Thanks, Jiayu > > Thanks! > Maxime > > > diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index > > 2f96a28dac..a93e41f314 100644 > > --- a/lib/vhost/vhost.c > > +++ b/lib/vhost/vhost.c > > @@ -1753,27 +1753,23 @@ rte_vhost_async_channel_unregister(int vid, > uint16_t queue_id) > > if (vq == NULL) > > return ret; > > > > - ret = 0; > > - > > - if (!vq->async) > > - return ret; > > - > > if (!rte_spinlock_trylock(&vq->access_lock)) { > > VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async > channel, virtqueue busy.\n", > > dev->ifname); > > - return -1; > > + return ret; > > } > > > > - if (vq->async->pkts_inflight_n) { > > + if (!vq->async) { > > + ret = 0; > > + } else if (vq->async->pkts_inflight_n) { > > VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async > channel.\n", dev->ifname); > > VHOST_LOG_CONFIG(ERR, "(%s) inflight packets must be > completed before unregistration.\n", > > dev->ifname); > > - ret = -1; > > - goto out; > > + } else { > > + vhost_free_async_mem(vq); > > + ret = 0; > > } > > > > - vhost_free_async_mem(vq); > > -out: > > rte_spinlock_unlock(&vq->access_lock); > > > > return ret; > > @@ -1891,9 +1887,6 @@ rte_vhost_async_get_inflight(int vid, uint16_t > queue_id) > > if (vq == NULL) > > return ret; > > > > - if (!vq->async) > > - return ret; > > - > > if (!rte_spinlock_trylock(&vq->access_lock)) { > > VHOST_LOG_CONFIG(DEBUG, > > "(%s) failed to check in-flight packets. virtqueue > busy.\n", @@ > > -1901,7 +1894,9 @@ rte_vhost_async_get_inflight(int vid, uint16_t > queue_id) > > return ret; > > } > > > > - ret = vq->async->pkts_inflight_n; > > + if (vq->async) > > + ret = vq->async->pkts_inflight_n; > > + > > rte_spinlock_unlock(&vq->access_lock); > > > > return ret; ^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [RFC PATCH v2 4/9] vhost: fix async access 2022-03-30 13:49 ` [RFC PATCH v2 4/9] vhost: fix async access David Marchand 2022-03-31 8:00 ` Maxime Coquelin @ 2022-04-04 6:57 ` Pai G, Sunil 1 sibling, 0 replies; 10+ messages in thread From: Pai G, Sunil @ 2022-04-04 6:57 UTC (permalink / raw) To: David Marchand, dev Cc: maxime.coquelin, Xia, Chenbo, Hu, Jiayu, Wang, YuanX, Ding, Xuan, stable, Patrick Fu > -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Wednesday, March 30, 2022 7:20 PM > To: dev@dpdk.org > Cc: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>; Hu, > Jiayu <jiayu.hu@intel.com>; Wang, YuanX <yuanx.wang@intel.com>; Ding, Xuan > <xuan.ding@intel.com>; stable@dpdk.org; Patrick Fu <patrick.fu@intel.com> > Subject: [RFC PATCH v2 4/9] vhost: fix async access > > vq->async accesses must be protected with vq->access_lock. > > Fixes: eb666d24085f ("vhost: fix async unregister deadlock") > Fixes: 0c0935c5f794 ("vhost: allow to check in-flight packets for async > vhost") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > lib/vhost/vhost.c | 25 ++++++++++--------------- > 1 file changed, 10 insertions(+), 15 deletions(-) Thanks for the fix, David. Tested the changes for rte_vhost_async_get_inflight, works as expected. Although I couldn't test, the changes for rte_vhost_async_channel_unregister looks good to me . Based on that, Acked-by: Sunil Pai G <sunil.pai.g@intel.com> ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20220411110013.18624-1-david.marchand@redhat.com>]
* [RFC PATCH v3 3/8] vhost: fix async access [not found] ` <20220411110013.18624-1-david.marchand@redhat.com> @ 2022-04-11 11:00 ` David Marchand 2022-04-21 19:21 ` Maxime Coquelin 2022-05-17 13:24 ` Maxime Coquelin 0 siblings, 2 replies; 10+ messages in thread From: David Marchand @ 2022-04-11 11:00 UTC (permalink / raw) To: dev Cc: maxime.coquelin, stephen, chenbo.xia, jiayu.hu, yuanx.wang, xuan.ding, stable, Sunil Pai G, Patrick Fu vq->async accesses must be protected with vq->access_lock. Fixes: eb666d24085f ("vhost: fix async unregister deadlock") Fixes: 0c0935c5f794 ("vhost: allow to check in-flight packets for async vhost") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Sunil Pai G <sunil.pai.g@intel.com> --- lib/vhost/vhost.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index 2f96a28dac..a93e41f314 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -1753,27 +1753,23 @@ rte_vhost_async_channel_unregister(int vid, uint16_t queue_id) if (vq == NULL) return ret; - ret = 0; - - if (!vq->async) - return ret; - if (!rte_spinlock_trylock(&vq->access_lock)) { VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async channel, virtqueue busy.\n", dev->ifname); - return -1; + return ret; } - if (vq->async->pkts_inflight_n) { + if (!vq->async) { + ret = 0; + } else if (vq->async->pkts_inflight_n) { VHOST_LOG_CONFIG(ERR, "(%s) failed to unregister async channel.\n", dev->ifname); VHOST_LOG_CONFIG(ERR, "(%s) inflight packets must be completed before unregistration.\n", dev->ifname); - ret = -1; - goto out; + } else { + vhost_free_async_mem(vq); + ret = 0; } - vhost_free_async_mem(vq); -out: rte_spinlock_unlock(&vq->access_lock); return ret; @@ -1891,9 +1887,6 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id) if (vq == NULL) return ret; - if (!vq->async) - return ret; - if (!rte_spinlock_trylock(&vq->access_lock)) { VHOST_LOG_CONFIG(DEBUG, "(%s) failed to check in-flight packets. virtqueue busy.\n", @@ -1901,7 +1894,9 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id) return ret; } - ret = vq->async->pkts_inflight_n; + if (vq->async) + ret = vq->async->pkts_inflight_n; + rte_spinlock_unlock(&vq->access_lock); return ret; -- 2.23.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC PATCH v3 3/8] vhost: fix async access 2022-04-11 11:00 ` [RFC PATCH v3 3/8] " David Marchand @ 2022-04-21 19:21 ` Maxime Coquelin 2022-05-17 13:24 ` Maxime Coquelin 1 sibling, 0 replies; 10+ messages in thread From: Maxime Coquelin @ 2022-04-21 19:21 UTC (permalink / raw) To: David Marchand, dev Cc: stephen, chenbo.xia, jiayu.hu, yuanx.wang, xuan.ding, stable, Sunil Pai G, Patrick Fu On 4/11/22 13:00, David Marchand wrote: > vq->async accesses must be protected with vq->access_lock. > > Fixes: eb666d24085f ("vhost: fix async unregister deadlock") > Fixes: 0c0935c5f794 ("vhost: allow to check in-flight packets for async vhost") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > Acked-by: Sunil Pai G <sunil.pai.g@intel.com> > --- > lib/vhost/vhost.c | 25 ++++++++++--------------- > 1 file changed, 10 insertions(+), 15 deletions(-) > Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Thanks, Maxime ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC PATCH v3 3/8] vhost: fix async access 2022-04-11 11:00 ` [RFC PATCH v3 3/8] " David Marchand 2022-04-21 19:21 ` Maxime Coquelin @ 2022-05-17 13:24 ` Maxime Coquelin 1 sibling, 0 replies; 10+ messages in thread From: Maxime Coquelin @ 2022-05-17 13:24 UTC (permalink / raw) To: David Marchand, dev Cc: stephen, chenbo.xia, jiayu.hu, yuanx.wang, xuan.ding, stable, Sunil Pai G, Patrick Fu On 4/11/22 13:00, David Marchand wrote: > vq->async accesses must be protected with vq->access_lock. > > Fixes: eb666d24085f ("vhost: fix async unregister deadlock") > Fixes: 0c0935c5f794 ("vhost: allow to check in-flight packets for async vhost") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > Acked-by: Sunil Pai G <sunil.pai.g@intel.com> > --- > lib/vhost/vhost.c | 25 ++++++++++--------------- > 1 file changed, 10 insertions(+), 15 deletions(-) > Applied to dpdk-next-virtio/main. Thanks, Maxime ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-05-17 13:25 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20220328121758.26632-1-david.marchand@redhat.com> 2022-03-28 12:17 ` [RFC PATCH 1/5] vhost: fix missing virtqueue lock protection David Marchand 2022-03-28 12:17 ` [RFC PATCH 3/5] vhost: fix async access David Marchand [not found] ` <20220330134956.18927-1-david.marchand@redhat.com> 2022-03-30 13:49 ` [RFC PATCH v2 1/9] vhost: fix missing virtqueue lock protection David Marchand 2022-03-30 13:49 ` [RFC PATCH v2 4/9] vhost: fix async access David Marchand 2022-03-31 8:00 ` Maxime Coquelin 2022-03-31 10:23 ` Hu, Jiayu 2022-04-04 6:57 ` Pai G, Sunil [not found] ` <20220411110013.18624-1-david.marchand@redhat.com> 2022-04-11 11:00 ` [RFC PATCH v3 3/8] " David Marchand 2022-04-21 19:21 ` Maxime Coquelin 2022-05-17 13:24 ` Maxime Coquelin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).