On Fri, Aug 30, 2013 at 12:24:17PM +0900, YAMAMOTO Takashi wrote:
> > Batching reduces overheads and enables upto 4 times the upcall processing
> > performance in a specialized test case.
> > 
> > Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com>
> > ---
> > v2: Do not wake consumer threads if they are already keeping the queue
> >     level low enough.
> 
> if the queue level is high, the consumer should already be busy working on
> the queue, right?  why do you want to keep signaling them again and again?
> 
> the dispatcher needs to signal the consumer only if handler->n_upcalls
> was 0 before incrementing.
> 
>     if (handler->n_upcalls == 0) {
>         handler->need_signal = true;
>     }
>     handler->n_upcalls++;
>     if (handler->need_signal && handler->n_upcalls >= FLOW_MISS_MAX_BATCH) {
>         handler->need_signal = false;
>         xpthread_cond_signal(&handler->wake_cond);
>     }

This is a good point.  Do you want to write up a patch?
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to