diff mbox

[1/6] net: pack skb_shared_info more efficiently

Message ID 1325783624-14601-1-git-send-email-ian.campbell@citrix.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Ian Campbell Jan. 5, 2012, 5:13 p.m. UTC
nr_frags can be 8 bits since 256 is plenty of fragments. This allows it to be
packed with tx_flags.

Also by moving ip6_frag_id and dataref (both 4 bytes) next to each other we can
avoid a hole between ip6_frag_id and frag_list on 64 bit systems.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 include/linux/skbuff.h |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

Comments

Eric Dumazet Jan. 5, 2012, 6:30 p.m. UTC | #1
Le jeudi 05 janvier 2012 à 17:13 +0000, Ian Campbell a écrit :
> nr_frags can be 8 bits since 256 is plenty of fragments. This allows it to be
> packed with tx_flags.
> 
> Also by moving ip6_frag_id and dataref (both 4 bytes) next to each other we can
> avoid a hole between ip6_frag_id and frag_list on 64 bit systems.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> ---


Acked-by: Eric Dumazet <eric.dumazet@gmail.com>




--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Jan. 5, 2012, 7:09 p.m. UTC | #2
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 05 Jan 2012 19:30:58 +0100

> Le jeudi 05 janvier 2012 à 17:13 +0000, Ian Campbell a écrit :
>> nr_frags can be 8 bits since 256 is plenty of fragments. This allows it to be
>> packed with tx_flags.
>> 
>> Also by moving ip6_frag_id and dataref (both 4 bytes) next to each other we can
>> avoid a hole between ip6_frag_id and frag_list on 64 bit systems.
>> 
>> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>> ---
> 
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index f47f0c3..50db9b0 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -242,15 +242,15 @@  struct ubuf_info {
  * the end of the header data, ie. at skb->end.
  */
 struct skb_shared_info {
-	unsigned short	nr_frags;
+	unsigned char	nr_frags;
+	__u8		tx_flags;
 	unsigned short	gso_size;
 	/* Warning: this field is not always filled in (UFO)! */
 	unsigned short	gso_segs;
 	unsigned short  gso_type;
-	__be32          ip6_frag_id;
-	__u8		tx_flags;
 	struct sk_buff	*frag_list;
 	struct skb_shared_hwtstamps hwtstamps;
+	__be32          ip6_frag_id;
 
 	/*
 	 * Warning : all fields before dataref are cleared in __alloc_skb()