[dpdk-dev] [PATCH RFC v3 0/3] Thread safe rte_vhost_enqueue_burst().

Ilya Maximets i.maximets at samsung.com
Fri Mar 18 10:55:17 CET 2016



On 18.03.2016 12:46, Yuanhan Liu wrote:
> On Fri, Mar 18, 2016 at 10:34:56AM +0100, Thomas Monjalon wrote:
>> 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).
> 
> Yeah, that's why Huawei made the proposal and the patch.
> 
>> That's why this series "Thread safe rte_vhost_enqueue_burst" is rejected.

Hi all.
And what about first patch of this series:
"vhost: use SMP barriers instead of compiler ones." ?

It's not about thread safety in terms of 'lockless'. It is the standalone
patch that fixes many times discussed issue with barriers on arm.

Best regards, Ilya Maximets.

>>
>>> "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
> 
> That was my concern, and agreed we need that.
> 
>> 2/ remove locks
>>
>> Please avoid talking about removing "lockless" when actually removing locks.
> 
> Sorry, my bad.
> 
> 	--yliu
> 
> 


More information about the dev mailing list