[ovs-dev] [PATCH 2/5] dpif-netdev: Implement the API functions to allow multiple handler threads read upcall.

YAMAMOTO Takashi yamamoto at valinux.co.jp
Mon Mar 3 03:14:09 UTC 2014


> 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.

thanks for explanation.

YAMAMOTO Takashi

> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list