[ovs-dev] [PATCH 2/4] datapath: Limits the number of tx/rx queues for netdev-dummy.

nickcooper-zhangtonghao nic at opencloud.tech
Mon Jan 9 01:30:20 UTC 2017


This patch avoids the ovs_rcu to report WARN, caused by blocked
for a long time, when ovs-vswitchd processes a port with many
rx/tx queues. The number of tx/rx queues per port may be appropriate,
because the dpdk uses it as an default max value.

Signed-off-by: nickcooper-zhangtonghao <nic at opencloud.tech>
---
 lib/netdev-dummy.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c
index d406cbc..d75e597 100644
--- a/lib/netdev-dummy.c
+++ b/lib/netdev-dummy.c
@@ -897,6 +897,9 @@ netdev_dummy_get_numa_id(const struct netdev *netdev_)
     return numa_id;
 }
 
+
+#define DUMMY_MAX_QUEUES_PER_PORT 1024
+
 /* Sets the number of tx queues and rx queues for the dummy PMD interface. */
 static int
 netdev_dummy_reconfigure(struct netdev *netdev_)
@@ -905,8 +908,8 @@ netdev_dummy_reconfigure(struct netdev *netdev_)
 
     ovs_mutex_lock(&netdev->mutex);
 
-    netdev_->n_txq = netdev->requested_n_txq;
-    netdev_->n_rxq = netdev->requested_n_rxq;
+    netdev_->n_txq = MIN(DUMMY_MAX_QUEUES_PER_PORT, netdev->requested_n_txq);
+    netdev_->n_rxq = MIN(DUMMY_MAX_QUEUES_PER_PORT, netdev->requested_n_rxq);
     netdev->numa_id = netdev->requested_numa_id;
 
     ovs_mutex_unlock(&netdev->mutex);
-- 
1.8.3.1





More information about the dev mailing list