[ovs-dev] [PATCH] ofproto: Optimise OpenFlow flow expiry
horms at verge.net.au
Tue Jan 15 00:38:46 UTC 2013
On Sun, Jan 13, 2013 at 09:22:31PM -0800, Ben Pfaff wrote:
> On Mon, Jan 14, 2013 at 10:06:13AM +0900, Simon Horman wrote:
> > Optimise OpenFlow flow expiry by placing expirable flows on a list.
> > This optimises scanning of flows for expiry in two ways:
> > * Empirically list traversal appears faster than the code it replaces.
> > With 1,000,000 flows present an otherwise idle system I observed CPU
> > utilisation of around 20% with the existing code but around 10% with
> > this new code.
> > * Flows that will never expire are not traversed.
> > This addresses a case seen in the field.
> > Signed-off-by: Simon Horman <horms at verge.net.au>
> It seems reasonable to use a list for this but I'd be inclined to do it
> at the ofproto or ofproto-dpif layer rather than in the classifier. It
> doesn't seem to me like a natural function of the classifier: the
> classifier is intended as a mechanism for quickly looking up an OpenFlow
> rule on the basis of a flow and doesn't to date have anything to do with
Thanks, that sounds reasonable. I'll see about updating my patch
More information about the dev