[ovs-dev] [PATCH 5/5] upcall: Remove datapath flows when setting n-threads.

Ben Pfaff blp at nicira.com
Tue Feb 25 23:58:44 UTC 2014


On Tue, Feb 25, 2014 at 09:35:46AM -0800, Joe Stringer wrote:
> On 25 February 2014 00:01, Zhou, Han <hzhou8 at ebay.com> wrote:
> 
> > Hi Joe,
> >
> > On Tue, 2014-02-11 at 13:55 -0800, Joe Stringer wrote:
> > > Previously, we would delete all ukeys when changing the number of
> > > threads, but leave all flows in the datapath. This would cause
> > > double-counting of stats for any flows that remain in the datapath. This
> > > patch fixes the issue by ensuring that all flows are deleted from the
> > > datapath before changing the number of threads.
> > >
> >
> > Would this change impact data traffic when thread number is being
> > changed? I am afraid there will be a burst of upcalls when datapath
> > flows are deleted, while the handlers are already destroyed and packet
> > drops could increase significantly. Would it be better if we delete
> > flows after new handler threads are created?
> >
> 
> This initial approach assumes that it's not a common case to reconfigure
> the number of threads while there is traffic running over the switch. I
> expect that users might tweak the value when initially deploying OVS, make
> a decision and leave it. If this doesn't sound reasonable, I could look at
> alternative approaches. What do you think?

I think your assumption (that changing threads is uncommon) is OK.
I'm going to take this patch as-is, for now.  If it's a real problem
then we can write code to redistribute ukeys to their new correct
threads, I guess.



More information about the dev mailing list