2017-01-09 6:40 GMT-08:00 nickcooper-zhangtonghao <[email protected]>: > 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 <[email protected]> > --- > lib/netdev-dummy.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c > index bdb77e1..5370404 100644 > --- a/lib/netdev-dummy.c > +++ b/lib/netdev-dummy.c > @@ -827,6 +827,8 @@ netdev_dummy_set_in6(struct netdev *netdev_, struct > in6_addr *in6, > return 0; > } > > +#define DUMMY_MAX_QUEUES_PER_PORT 1024 > + > static int > netdev_dummy_set_config(struct netdev *netdev_, const struct smap *args) > { > @@ -868,8 +870,11 @@ netdev_dummy_set_config(struct netdev *netdev_, const > struct smap *args) > goto exit; > } > > - new_n_rxq = MAX(smap_get_int(args, "n_rxq", NR_QUEUE), 1); > - new_n_txq = MAX(smap_get_int(args, "n_txq", NR_QUEUE), 1); > + new_n_rxq = MIN(DUMMY_MAX_QUEUES_PER_PORT, > + MAX(smap_get_int(args, "n_rxq", NR_QUEUE), 1)); > + new_n_txq = MIN(DUMMY_MAX_QUEUES_PER_PORT, > + MAX(smap_get_int(args, "n_txq", NR_QUEUE), 1)); > +
I'm fine with this, but don't you think it's better to return error if one of the number exceeds DUMMY_MAX_QUEUES_PER_PORT? > new_numa_id = smap_get_int(args, "numa_id", 0); > if (new_n_rxq != netdev->requested_n_rxq > || new_n_txq != netdev->requested_n_txq > -- > 1.8.3.1 > > > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
