[ovs-dev] [PATCH v2] upcall: Don't start new revalidation round too soon after the last one.

Ben Pfaff blp at ovn.org
Tue Sep 27 00:39:21 UTC 2016


On Tue, Sep 20, 2016 at 11:42:45AM -0700, Jarno Rajahalme wrote:
> The execution time of 'ovs-ofctl add-flows' with a large number of
> flows can be more than halved if revalidators are not running after
> each flow mod separately.  This was first suspected when it was found
> that 'ovs-ofctl --bundle add-flows' is about 10 times faster than the
> same command without the '--bundle' option in a scenario where there
> is a large set of flows being added and no datapath flows at all.  One
> of the differences caused by the '--bundle' option is that the
> revalidators are woken up only once, at the end of the whole set of
> flow table changes, rather than after each flow table change
> individually.
> 
> This patch limits the revalidation to run at most 200 times a second
> by enforcing a minimum of 5ms time gap between the start times of
> revalidation rounds.  If nothing happens in, say 6 milliseconds, and
> then a new flow table change is signaled, the revalidator threads wake
> up immediately without any further delay.  Values smaller than 5 were
> found to increase the 'ovs-ofctl add-flows' execution time noticeably.
> 
> Since the revalidators are not running after each flow mod, the
> overall OVS CPU utilization during the 'ovs-ofctl add-flows' run time
> is reduced roughly by one core on a four core machine.
> 
> In testing the 'ovs-ofctl add-flows' execution time is not
> significantly improved from this even if the revalidators are not
> notified about the flow table changes at all.
> 
> Signed-off-by: Jarno Rajahalme <jarno at ovn.org>

Is this the patch you said you wanted to squeak into branch-2.6?

Acked-by: Ben Pfaff <blp at ovn.org>



More information about the dev mailing list