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