[dpdk-dev] [PATCH RFC v3 0/3] Thread safe rte_vhost_enqueue_burst().
Thomas Monjalon
thomas.monjalon at 6wind.com
Fri Mar 18 10:34:56 CET 2016
2016-03-18 17:16, Yuanhan Liu:
> On Fri, Mar 18, 2016 at 09:09:04AM +0100, Thomas Monjalon wrote:
> > 2016-03-18 16:00, Yuanhan Liu:
> > > On Thu, Mar 17, 2016 at 04:29:32PM +0100, Thomas Monjalon wrote:
> > > > 2016-02-24 14:47, Ilya Maximets:
> > > > > Implementation of rte_vhost_enqueue_burst() based on lockless ring-buffer
> > > > > algorithm and contains almost all to be thread-safe, but it's not.
> > > > >
> > > > > This set adds required changes.
> > > > >
> > > > > First patch in set is a standalone patch that fixes many times discussed
> > > > > issue with barriers on different architectures.
> > > > >
> > > > > Second and third adds fixes to make rte_vhost_enqueue_burst thread safe.
> > > >
> > > > My understanding is that we do not want to pollute Rx/Tx with locks.
> > > >
> > > > Huawei, Yuanhan, Bruce, do you confirm?
> > >
> > > Huawei would like to do that, and I'm behind that. Let's do it.
> >
> > I'm not sure to understand. What do you want to do exactly?
>
> I was thinking we are on the same page :(
Yes we are on the same page.
But it's better to make things explicit.
There should be no lock in Rx/Tx drivers (including vhost).
The locking must be done by the caller (application level).
That's why this series "Thread safe rte_vhost_enqueue_burst" is rejected.
> "do not want to pollute Rx/Tx with locks" == "remove lockless Rx/Tx, the
> proposal from Huawei", right?
>
> In another way, I'm behind the following patch from Huawei:
>
> http://dpdk.org/dev/patchwork/patch/9740/
The patch "vhost: remove lockless enqueue to the virtio ring" must me
reworked in 2 patches:
1/ announce API change
2/ remove locks
Please avoid talking about removing "lockless" when actually removing locks.
Thanks
More information about the dev
mailing list