Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f42f126 authored by Ian Campbell's avatar Ian Campbell Committed by David S. Miller
Browse files

net: pack skb_shared_info more efficiently



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: default avatarIan Campbell <ian.campbell@citrix.com>
Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent eeca6688
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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()