macvlan: Precise RX stats accounting
authorEric Dumazet <eric.dumazet@gmail.com>
Tue, 17 Nov 2009 08:53:49 +0000 (08:53 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Nov 2009 07:51:57 +0000 (23:51 -0800)
commitfccaf71011b171883efee5bae321eac4760584d1
treea44bb3d88d778891b29049700bd9611d255f8045
parent9793241fe92f7d9303fb221e43fc598eb065f267
macvlan: Precise RX stats accounting

With multi queue devices, its possible that several cpus call
macvlan RX routines simultaneously for the same macvlan device.

We update RX stats counter without any locking, so we can
get slightly wrong counters.

One possible fix is to use percpu counters, to get precise
accounting and also get guarantee of no cache line ping pongs
between cpus.

Note: this adds 16 bytes (32 bytes on 64bit arches) of percpu
data per macvlan device.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/macvlan.c