From: Florian Westphal <fw@strlen.de>
To: <netdev@vger.kernel.org>
Cc: Florian Westphal <fw@strlen.de>
Subject: [PATCH RFC 01/14] net: gro: shrink napi_gro_cb to fit into hypothetical 44-byte sized skb cb
Date: Mon, 2 Mar 2015 18:40:15 +0100 [thread overview]
Message-ID: <1425318028-26531-2-git-send-email-fw@strlen.de> (raw)
In-Reply-To: <1425318028-26531-1-git-send-email-fw@strlen.de>
>From 48 down to 42 bytes using reordering + bitfields.
Signed-off-by: Florian Westphal <fw@strlen.de>
---
include/linux/netdevice.h | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 5897b4e..7427185 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1914,8 +1914,11 @@ struct napi_gro_cb {
/* This indicates where we are processing relative to skb->data. */
int data_offset;
- /* This is non-zero if the packet cannot be merged with the new skb. */
- u16 flush;
+ /* used in skb_gro_receive() slow path */
+ struct sk_buff *last;
+
+ /* Used in ipv6_gro_receive() and foo-over-udp */
+ u16 proto;
/* Save the IP ID here and check when we get to the transport layer */
u16 flush_id;
@@ -1926,11 +1929,11 @@ struct napi_gro_cb {
/* Start offset for remote checksum offload */
u16 gro_remcsum_start;
- /* jiffies when first packet was created/queued */
- unsigned long age;
+ /* used to support CHECKSUM_COMPLETE for tunneling protocols */
+ __wsum csum;
- /* Used in ipv6_gro_receive() and foo-over-udp */
- u16 proto;
+ /* jiffies when first packet was created/queued */
+ unsigned int age;
/* This is non-zero if the packet may be of the same flow. */
u8 same_flow:1;
@@ -1950,16 +1953,11 @@ struct napi_gro_cb {
#define NAPI_GRO_FREE_STOLEN_HEAD 2
/* Used in foo-over-udp, set in udp[46]_gro_receive */
- u8 is_ipv6:1;
-
- /* 7 bit hole */
+ u8 is_ipv6:1,
+ flush:1;
- /* used to support CHECKSUM_COMPLETE for tunneling protocols */
- __wsum csum;
-
- /* used in skb_gro_receive() slow path */
- struct sk_buff *last;
-};
+ /* 6 bit hole */
+} __packed;
#define NAPI_GRO_CB(skb) ((struct napi_gro_cb *)(skb)->cb)
--
2.0.5
next prev parent reply other threads:[~2015-03-02 17:40 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-02 17:40 [PATCH RFC 00/14] shrink skb cb to 44 bytes Florian Westphal
2015-03-02 17:40 ` Florian Westphal [this message]
2015-03-02 17:40 ` [PATCH RFC 02/14] net: sched: reduce qdisc size to 24 byte Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 03/14] ipv6: use flag instead of u16 for hop in inet6_skb_parm Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 04/14] drivers: wireless: rt2x00: move skb_dma to queue entry Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 05/14] drivers: wireless: ar5523: use container_of Florian Westphal
2015-03-03 9:16 ` Pontus Fuchs
2015-03-02 17:40 ` [PATCH RFC 06/14] drivers: wireless: carl9170: shrink carl9170_tx_info Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 07/14] net: wireless: iwlwifi: shrink status private area Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 08/14] net: wireless: mac80211: shrink ieee80211_tx_info Florian Westphal
[not found] ` <1425318028-26531-9-git-send-email-fw-HFFVJYpyMKqzQB+pC5nmwQ@public.gmane.org>
2015-03-02 18:53 ` Johannes Berg
2015-03-02 19:03 ` Florian Westphal
2015-03-02 19:18 ` Johannes Berg
[not found] ` <1425323929.1906.12.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2015-03-02 19:30 ` Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 09/14] net: wireless: mac80211: shrink private driver area Florian Westphal
2015-03-02 18:52 ` Johannes Berg
2015-03-02 17:40 ` [PATCH RFC 10/14] dccp: keep failed options on stack Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 11/14] dccp: reduce size of dccp_skb_cb to 40 bytes Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 12/14] rxrpc: use 32bit jiffies on 64bit platforms, too Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 13/14] net: tcp: don't assert sock_skb_cb_check_size Florian Westphal
2015-03-02 17:40 ` [PATCH RFC 14/14] net: introduce and use KERNEL_MAX_HEADER_PARSE_ADDRLEN Florian Westphal
2015-03-03 17:03 ` Willem de Bruijn
2015-03-03 17:11 ` Florian Westphal
2015-03-02 19:49 ` [PATCH RFC 00/14] shrink skb cb to 44 bytes Eric Dumazet
[not found] ` <1425325763.5130.123.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-03-02 20:42 ` Florian Westphal
2015-03-02 21:56 ` Eric Dumazet
2015-03-02 22:17 ` David Miller
2015-03-03 4:02 ` Eric Dumazet
2015-03-03 4:05 ` David Miller
2015-03-03 11:43 ` Florian Westphal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425318028-26531-2-git-send-email-fw@strlen.de \
--to=fw@strlen.de \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).