Re: [ovs-dev] [PATCH] netdev-dpdk: Track vhost tx contention.

2019-11-08 Thread Ilya Maximets

On 26.08.2019 16:33, David Marchand wrote:

Add a coverage counter to help diagnose contention on the vhost txqs.
This is seen as dropped packets on the physical ports for rates that
are usually handled fine by OVS.

Signed-off-by: David Marchand 
---


Thanks! I changed 'unlikely' to 'OVS_UNLIKELY' and applied to master.

Best regards, Ilya Maximets.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] netdev-dpdk: Track vhost tx contention.

2019-09-10 Thread Eelco Chaudron



On 26 Aug 2019, at 16:33, David Marchand wrote:

> Add a coverage counter to help diagnose contention on the vhost txqs.
> This is seen as dropped packets on the physical ports for rates that
> are usually handled fine by OVS.
>
> Signed-off-by: David Marchand 

LGTM, Acked-by: Eelco Chaudron 
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] netdev-dpdk: Track vhost tx contention.

2019-09-09 Thread David Marchand
On Mon, Aug 26, 2019 at 4:36 PM David Marchand
 wrote:
>
> Add a coverage counter to help diagnose contention on the vhost txqs.
> This is seen as dropped packets on the physical ports for rates that
> are usually handled fine by OVS.
>
> Signed-off-by: David Marchand 

Hey guys, can somebody look at this approach and tell me if something
is wrong with it?
Thanks.


-- 
David Marchand
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH] netdev-dpdk: Track vhost tx contention.

2019-08-26 Thread David Marchand
Add a coverage counter to help diagnose contention on the vhost txqs.
This is seen as dropped packets on the physical ports for rates that
are usually handled fine by OVS.

Signed-off-by: David Marchand 
---
 lib/netdev-dpdk.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 4805783..ea8599b 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -41,6 +41,7 @@
 #include 
 
 #include "cmap.h"
+#include "coverage.h"
 #include "dirs.h"
 #include "dp-packet.h"
 #include "dpdk.h"
@@ -72,6 +73,8 @@ enum {VIRTIO_RXQ, VIRTIO_TXQ, VIRTIO_QNUM};
 VLOG_DEFINE_THIS_MODULE(netdev_dpdk);
 static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20);
 
+COVERAGE_DEFINE(vhost_tx_contention);
+
 #define DPDK_PORT_WATCHDOG_INTERVAL 5
 
 #define OVS_CACHE_LINE_SIZE CACHE_LINE_SIZE
@@ -2387,7 +2390,10 @@ __netdev_dpdk_vhost_send(struct netdev *netdev, int qid,
 goto out;
 }
 
-rte_spinlock_lock(>tx_q[qid].tx_lock);
+if (unlikely(!rte_spinlock_trylock(>tx_q[qid].tx_lock))) {
+COVERAGE_INC(vhost_tx_contention);
+rte_spinlock_lock(>tx_q[qid].tx_lock);
+}
 
 cnt = netdev_dpdk_filter_packet_len(dev, cur_pkts, cnt);
 /* Check has QoS has been configured for the netdev */
-- 
1.8.3.1

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev