diff options
author | Eric Dumazet | 2010-08-31 07:40:16 +0000 |
---|---|---|
committer | David S. Miller | 2010-08-31 13:37:06 -0700 |
commit | 4dc89133f49b8cfd77ba7e83f5960aed63aaa99e (patch) | |
tree | 7629fa72b5a13cbf48d43659bb396984caf7362a /include/linux | |
parent | ba4fd9d8282f7f856f2287fe8be784d1dfdda28b (diff) |
net: add a comment on netdev->last_rx
As some driver authors seem to reintroduce dev->last_rx use,
add a comment to strongly discourage this.
Since commit 6cf3f41e6c0 (bonding, net: Move last_rx update into bonding
recv logic), network drivers dont need to update last_rx themselves,
unless they use this field to implement a timeout.
Not updating last_rx helps not dirtying a cache line, improving
performance in SMP.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/netdevice.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 0cf9448a32c4..c82220a9f3d5 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -953,7 +953,14 @@ struct net_device { /* * Cache line mostly used on receive path (including eth_type_trans()) */ - unsigned long last_rx; /* Time of last Rx */ + unsigned long last_rx; /* Time of last Rx + * This should not be set in + * drivers, unless really needed, + * because network stack (bonding) + * use it if/when necessary, to + * avoid dirtying this cache line. + */ + /* Interface address info used in eth_type_trans() */ unsigned char *dev_addr; /* hw address, (before bcast because most packets are |