linux/drivers/net/e1000
Eric Dumazet 042a53a9e4 net: skb_shared_info optimization
skb_dma_unmap() is quite expensive for small packets,
because we use two different cache lines from skb_shared_info.

One to access nr_frags, one to access dma_maps[0]

Instead of dma_maps being an array of MAX_SKB_FRAGS + 1 elements,
let dma_head alone in a new dma_head field, close to nr_frags,
to reduce cache lines misses.

Tested on my dev machine (bnx2 & tg3 adapters), nice speedup !

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-08 00:21:48 -07:00
..
e1000_ethtool.c e1000: Use device_set_wakeup_enable 2008-11-16 01:35:56 -08:00
e1000_hw.c trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
e1000_hw.h e1000: convert uint16_t style integers to u16 2008-04-16 20:41:45 -04:00
e1000_main.c net: skb_shared_info optimization 2009-06-08 00:21:48 -07:00
e1000_osdep.h e1000: Remove spaces after casts and function names 2008-07-22 19:38:52 -04:00
e1000_param.c e1000: fix stack size 2008-08-27 13:56:27 -07:00
e1000.h e1000: drop lltx, remove unnecessary lock 2009-01-21 14:42:47 -08:00
Makefile