Bladeren bron

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>
Alexander Duyck 15 jaren geleden
bovenliggende
commit
03e6d819c2
1 gewijzigde bestanden met toevoegingen van 0 en 6 verwijderingen
  1. 0 6
      include/linux/skbuff.h

+ 0 - 6
include/linux/skbuff.h

@@ -190,9 +190,6 @@ struct skb_shared_info {
 	atomic_t	dataref;
 	atomic_t	dataref;
 	unsigned short	nr_frags;
 	unsigned short	nr_frags;
 	unsigned short	gso_size;
 	unsigned short	gso_size;
-#ifdef CONFIG_HAS_DMA
-	dma_addr_t	dma_head;
-#endif
 	/* Warning: this field is not always filled in (UFO)! */
 	/* Warning: this field is not always filled in (UFO)! */
 	unsigned short	gso_segs;
 	unsigned short	gso_segs;
 	unsigned short  gso_type;
 	unsigned short  gso_type;
@@ -201,9 +198,6 @@ struct skb_shared_info {
 	struct sk_buff	*frag_list;
 	struct sk_buff	*frag_list;
 	struct skb_shared_hwtstamps hwtstamps;
 	struct skb_shared_hwtstamps hwtstamps;
 	skb_frag_t	frags[MAX_SKB_FRAGS];
 	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
 	/* Intermediate layers must ensure that destructor_arg
 	 * remains valid until skb destructor */
 	 * remains valid until skb destructor */
 	void *		destructor_arg;
 	void *		destructor_arg;