[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH net] xen-netback: bookkeep number of queues in our own module

> -----Original Message-----
> From: David Miller [mailto:davem@xxxxxxxxxxxxx]
> Sent: 23 June 2014 10:26
> To: Paul Durrant
> Cc: Wei Liu; xen-devel@xxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> boris.ostrovsky@xxxxxxxxxx; Ian Campbell
> Subject: Re: [PATCH net] xen-netback: bookkeep number of queues in our
> own module
> From: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> Date: Mon, 23 Jun 2014 09:18:23 +0000
> > Ok, for the addition of a new algorithm that may be the case but
> > what about the existent algorithm stability issue? Who's going to
> > watch the implementation of __netdev_pick_tx() and make sure there
> > is no semantic change? I'm still of the opinion that the
> > implementation should be kept within netback so that we can
> > guarantee stability, even if it means duplication. Either that or we
> > need some guarantee that the semantic of __netdev_pick_tx() will
> > never change.
> Please stop talking like this.
> If the default changes it's probably to fix a bug or make things
> better, you want no bugs to get fix if it breaks "stability"?

To some extent, yes. My hypothesis is that the frontend and the backend agree a 
steering algorithm so that they can ensure all rx and tx traffic for a flow 
hits a particular CPU, so that locking can be avoided. If the backend then 
changes its algorithm then packets may arrive on the wrong queue, hit the wrong 
CPU and now you have a frontend that may try to access critical data structures 
without locking from two different CPUs. That's going to be a pretty subtle 
crash to have to debug.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.