Subject: Re: [GIT/PATCH v4] xen network backend driver

From: Stephen Hemminger <[email-masked]>
Date: Fri, 11 Mar 2011 09:24:03 -0800

On Fri, 11 Mar 2011 10:22:55 +0000
Ian Campbell <[email-masked]> wrote:

> On Thu, 2011-03-10 at 17:30 +0000, Ben Hutchings wrote:
> > On Thu, 2011-03-10 at 09:15 -0800, Stephen Hemminger wrote:
> > > On Thu, 10 Mar 2011 17:02:33 +0000
> > > Ian Campbell <[email-masked]> wrote:
> > > > +struct xenvif {
> > > > +	/* Unique identifier for this interface. */
> > > ...
> > > > +	struct net_device_stats stats;
> > > > +
> > > 
> > > There is already a stats struct in net_device in current kernel
> > > versions, unless there is a compelling reason otherwise
> > > please use that.
> 
> Will do.
>  
> > > Also, you probably want to implement per-cpu and 64 bit
> > > stats.
> > 
> > The driver is using a single queue, so I don't see what benefit it would
> > get from per-cpu stats.  At some point it should become multiqueue and
> > then it should store per-queue stats.
> 
> Agreed.
> 
> > 64-bit stats are definitely preferable, but since they're being
> > maintained on the data path this may require some significant work.
> > (Ian: see <linux/u64_stats_sync.h> for the canonical way to do this.)
> > Given that only a relatively few existing drivers do this (I count 13),
> > I'm not sure we can reasonably demand that a new driver does - yet.
> 
> Is there an example of a driver which also updates the stats on the
> datapath?
> 
> If it's ok I'd prefer to defer this change for now though.

Sure, my original comment was just a hint for future.

--