Hi Eric, On Thu, Nov 3, 2016 at 9:30 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: > On Thu, 2016-11-03 at 21:03 +0800, f...@ikuai8.com wrote: >> From: Gao Feng <f...@ikuai8.com> >> >> The dropped count of veth is located in struct veth_priv, but other >> statistics like packets and bytes are in another struct pcpu_vstats. >> Now keep these three counters in the same struct. >> >> Signed-off-by: Gao Feng <f...@ikuai8.com> >> --- >> v2: Use right "peer" instead of "dev"; >> v1: Initial version > > May I ask : Why ?
Just because I think statistics should be in the same struct. > > We did that because there was no point making per-cpu requirements > bigger, for a counter that is hardly ever updated. > > Do you have a real case where performance dropping packets in a driver > is needed ? No, I haven't met the performance issue now. > > At some point we will have to stop dumb percpu explosion, when we have > 128+ cores per host. Folding all these percpu counters is taking a lot > of time too. > > > Ok, I get it. It is designed specially to put the dropped counter as atomic counter, not percpu. But I have one question that when put the counters as percpu, and when not? Regards Feng