[dpdk-dev] [PATCH RFC 4/4] doc: add note about rte_vhost_enqueue_burst thread safety.

Xie, Huawei huawei.xie at intel.com
Fri Feb 19 09:36:12 CET 2016


On 2/19/2016 3:10 PM, Yuanhan Liu wrote:
> On Fri, Feb 19, 2016 at 09:32:43AM +0300, Ilya Maximets wrote:
>> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
>> ---
>>  doc/guides/prog_guide/thread_safety_dpdk_functions.rst | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/doc/guides/prog_guide/thread_safety_dpdk_functions.rst b/doc/guides/prog_guide/thread_safety_dpdk_functions.rst
>> index 403e5fc..13a6c89 100644
>> --- a/doc/guides/prog_guide/thread_safety_dpdk_functions.rst
>> +++ b/doc/guides/prog_guide/thread_safety_dpdk_functions.rst
>> @@ -67,6 +67,7 @@ then locking, or some other form of mutual exclusion, is necessary.
>>  The ring library is based on a lockless ring-buffer algorithm that maintains its original design for thread safety.
>>  Moreover, it provides high performance for either multi- or single-consumer/producer enqueue/dequeue operations.
>>  The mempool library is based on the DPDK lockless ring library and therefore is also multi-thread safe.
>> +rte_vhost_enqueue_burst() is also thread safe because based on lockless ring-buffer algorithm like the ring library.
> FYI, Huawei meant to make rte_vhost_enqueue_burst() not be thread-safe,
> to aligh with the usage of rte_eth_tx_burst().
>
> 	--yliu

I have a patch to remove the lockless enqueue. Unless there is strong
reason, i prefer vhost PMD to behave like other PMDs, with no internal
lockless algorithm. In future, for people who really need it, we could
have dynamic/static switch to enable it.




More information about the dev mailing list