On Fri, Feb 28, 2014 at 01:06:11PM +0900, YAMAMOTO Takashi wrote: > > @@ -1452,32 +1507,18 @@ dpif_netdev_queue_to_priority(const struct dpif > > *dpif OVS_UNUSED, > > return 0; > > } > > > > -static struct dp_netdev_queue * > > -find_nonempty_queue(struct dp_netdev *dp) > > - OVS_REQUIRES(dp->queue_mutex) > > -{ > > - int i; > > - > > - for (i = 0; i < N_QUEUES; i++) { > > - struct dp_netdev_queue *q = &dp->queues[i]; > > - if (q->head != q->tail) { > > - return q; > > - } > > - } > > - return NULL; > > -} > > what's the rationale to remove DPIF_UC_MISS's precedence over DPIF_UC_ACTION? > (just a curious question)
Originally, dpif-netdev preferred DPIF_UC_MISS over DPIF_UC_ACTION because we were very concerned that flow setups always take place as quickly as possible and that anything else was secondary. However, a lot has changed since then, and these days it seems reasonable to try to better balance the various kinds of packet handling. In particular, starving all actions in the presence of any flow misses doesn't seem like a great idea. There might be a better balance than the one in this patch, but I'm willing to let that come out in testing. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev