On 4/29/2015 7:57 PM, Thomas Monjalon wrote: > 2015-04-29 13:38 GMT+02:00 Panu Matilainen <pmatilai at redhat.com>: >> On 04/29/2015 02:29 PM, Huawei Xie wrote: >>> vhost enabled vSwitch could have their own thread-safe vring enqueue >>> policy. >>> Add the RTE_LIBRTE_VHOST_LOCKLESS_ENQ macro for vhost lockless enqueue. >>> Turn it off by default. >>> >>> Signed-off-by: Huawei Xie <huawei.xie at intel.com> >>> --- >>> config/common_linuxapp | 1 + >>> lib/librte_vhost/vhost_rxtx.c | 24 +++++++++++++++++++++++- >>> 2 files changed, 24 insertions(+), 1 deletion(-) >>> >>> diff --git a/config/common_linuxapp b/config/common_linuxapp >>> index 0078dc9..7f59499 100644 >>> --- a/config/common_linuxapp >>> +++ b/config/common_linuxapp >>> @@ -421,6 +421,7 @@ CONFIG_RTE_KNI_VHOST_DEBUG_TX=n >>> # >>> CONFIG_RTE_LIBRTE_VHOST=n >>> CONFIG_RTE_LIBRTE_VHOST_USER=y >>> +CONFIG_RTE_LIBRTE_VHOST_LOCKLESS_ENQ=n >>> CONFIG_RTE_LIBRTE_VHOST_DEBUG=n > [...] >> These things should be runtime configurable, not build options. Please do >> not assume everybody builds DPDK separately for each and every application >> that might ever be. > +1 > Adding new build options must be exceptions and very well justified.
Thomas: Though we could make per queue/device run time configurable, i feel it might not make sense that per queue/device has different behavior. To ease the implementation, i would provide an API to configure the global lock less behavior, and by default, lockess enqueue will be disabled. Thoughts? > >