[ovs-dev] 答复: [PATCH] netdev-dpdk: Do not flush tx queue which is shared among CPUs since it is always flushed

钢锁0310 liw at dtdream.com
Sat Jun 6 00:29:17 UTC 2015


My environment is in VMware
OS: CentOS 7ovs: compiled by git masterDPDK: 2.0.0qemu:2.3.0
qemu conecting ovs by vhost-userOne NIC bind to ovs 
When I send pkts from qemu to VMware`s NIC by using iperf3, Segmentation falt occurs
Do you need to see the backtrace?  I forget to save it, if need, I will repeat it


*********************RTFSC*********************------------------------------------------------------------------发件人:Gray, Mark D <mark.d.gray at intel.com>发送时间:2015年6月5日(星期五) 20:27收件人:钢锁0310 <liw at dtdream.com>,dev at openvswitch.com <dev at openvswitch.com>主 题:RE: [ovs-dev] [PATCH] netdev-dpdk: Do not flush tx queue which is	shared among CPUs since it is always flushed> > When tx queue is shared among CPUS,the pkts always be flush in> 'netdev_dpdk_eth_send'> So it is unnecessarily for flushing in netdev_dpdk_rxq_recv Otherwise tx will> be accessed without lockingAre you seeing a specific bug or is this just to account for a device withless queues than pmds?> > Signed-off-by: Wei li <liw at dtdream.com>> --->  lib/netdev-dpdk.c | 7 +++++-->  1 file changed, 5 insertions(+), 2 deletions(-)> > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 63243d8..25e3a73> 100644> --- a/lib/netdev-dpdk.c> +++ b/lib/netdev-dpdk.c> @@ -892,8 +892,11 @@ netdev_dpdk_rxq_recv(struct netdev_rxq *rxq_,> struct dp_packet **packets,>      int nb_rx;> >      /* There is only one tx queue for this core.  Do not flush other> -     * queueus. */> -    if (rxq_->queue_id == rte_lcore_id()) {> +     * queueus.s/queueus/queues> +     * Do not flush tx queue which is shared among CPUs> +     * since it is always flushed */> +    if (rxq_->queue_id == rte_lcore_id() &&> +  OVS_LIKELY(!dev->txq_needs_locking)) {>          dpdk_queue_flush(dev, rxq_->queue_id);Do you see any drop in performance in a simple phy-phy case beforeand after this patch?>      }> > --> 1.9.5.msysgit.1> > > _______________________________________________> dev mailing list> dev at openvswitch.orghttp://openvswitch.org/mailman/listinfo/dev


More information about the dev mailing list