linux/net
Eric Dumazet 7004bf252c net: add tx_packets/tx_bytes/tx_dropped counters in struct netdev_queue
offsetof(struct net_device, features)=0x44
offsetof(struct net_device, stats.tx_packets)=0x54
offsetof(struct net_device, stats.tx_bytes)=0x5c
offsetof(struct net_device, stats.tx_dropped)=0x6c

Network drivers that touch dev->stats.tx_packets/stats.tx_bytes in their
tx path can slow down SMP operations, since they dirty a cache line
that should stay shared (dev->features is needed in rx and tx paths)

We could move away stats field in net_device but it wont help that much.
(Two cache lines dirtied in tx path, we can do one only)

Better solution is to add tx_packets/tx_bytes/tx_dropped in struct
netdev_queue because this structure is already touched in tx path and
counters updates will then be free (no increase in size)

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-05-18 15:15:06 -07:00
..
9p
802
8021q Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-04-29 20:30:35 -07:00
appletalk
atm Subject: [PATCH] br2684: restore net_dev initialization 2009-05-02 13:49:36 -07:00
ax25
bluetooth Bluetooth: Move dev_set_name() to a context that can sleep 2009-05-05 13:26:08 -07:00
bridge
can
core net: add tx_packets/tx_bytes/tx_dropped counters in struct netdev_queue 2009-05-18 15:15:06 -07:00
dcb
dccp
decnet ipv4: remove an unused parameter from configure method of fib_rules_ops. 2009-05-17 11:59:45 -07:00
dsa
econet
ethernet
ipv4 ipv4: remove an unused parameter from configure method of fib_rules_ops. 2009-05-17 11:59:45 -07:00
ipv6 net: remove needless (now buggy) & from dev->dev_addr 2009-05-17 11:59:47 -07:00
ipx
irda
iucv af_iucv: Fix merge. 2009-04-23 06:37:16 -07:00
key
lapb
llc net: remove needless (now buggy) & from dev->dev_addr (part2) 2009-05-17 11:59:53 -07:00
mac80211 mac80211: make noack test available 2009-05-13 15:44:53 -04:00
netfilter Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 2009-05-05 12:00:53 -07:00
netlabel netlabel: Always remove the correct address selector 2009-04-22 00:46:09 -07:00
netlink
netrom net/netrom: Fix socket locking 2009-04-22 00:49:51 -07:00
packet
phonet
rds
rfkill net/rfkill/rfkill.c: fix build with CONFIG_RFKILL_LEDS=n 2009-05-06 15:14:40 -04:00
rose
rxrpc
sched net: tx scalability works : trans_start 2009-05-17 20:55:16 -07:00
sctp sctp: add feature bit for SCTP offload in hardware 2009-04-28 01:53:14 -07:00
sunrpc
tipc net: remove needless (now buggy) & from dev->dev_addr 2009-05-17 11:59:47 -07:00
unix
wanrouter
wimax Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-05-08 02:48:30 -07:00
wireless wext: remove seq_start/stop sparse annotations 2009-05-13 15:44:40 -04:00
x25
xfrm xfrm: wrong hash value for temporary SA 2009-04-27 02:58:59 -07:00
Kconfig net: remove stale reference to fastroute from Kconfig help text 2009-05-07 16:31:01 -07:00
Makefile
TUNABLE
compat.c
nonet.c
socket.c
sysctl_net.c