diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2010-03-23 20:40:50 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-24 11:13:35 -0700 |
commit | 03e6d819c2cb2cc8ce5642669a0a7c72336ee7a2 (patch) | |
tree | 80ae5a328cf6b5a7cdbefba59a2931218923d874 /include/linux/skbuff.h | |
parent | f6b9f4b263f3178fc0f23f0e67d04386528cc727 (diff) | |
download | blackbird-op-linux-03e6d819c2cb2cc8ce5642669a0a7c72336ee7a2.tar.gz blackbird-op-linux-03e6d819c2cb2cc8ce5642669a0a7c72336ee7a2.zip |
skbuff: remove unused dma_head & dma_maps fields
The dma map fields in the skb_shared_info structure no longer has any users
and can be dropped since it is making the skb_shared_info unecessarily larger.
Running slabtop show that we were using 4K slabs for the skb->head on x86_64 w/
an allocation size of 1522. It turns out that the dma_head and dma_maps array
made skb_shared large enough that we had crossed over the 2k boundary with
standard frames and as such we were using 4k blocks of memory for all skbs.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r-- | include/linux/skbuff.h | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 03f816a9b659..124f90cd5a38 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -190,9 +190,6 @@ struct skb_shared_info { atomic_t dataref; unsigned short nr_frags; unsigned short gso_size; -#ifdef CONFIG_HAS_DMA - dma_addr_t dma_head; -#endif /* Warning: this field is not always filled in (UFO)! */ unsigned short gso_segs; unsigned short gso_type; @@ -201,9 +198,6 @@ struct skb_shared_info { struct sk_buff *frag_list; struct skb_shared_hwtstamps hwtstamps; skb_frag_t frags[MAX_SKB_FRAGS]; -#ifdef CONFIG_HAS_DMA - dma_addr_t dma_maps[MAX_SKB_FRAGS]; -#endif /* Intermediate layers must ensure that destructor_arg * remains valid until skb destructor */ void * destructor_arg; |