summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.ninka.net>2003-03-24 13:09:40 -0800
committerDavid S. Miller <davem@nuts.ninka.net>2003-03-24 13:09:40 -0800
commite913173f4948dbc2ea11d4963d82b0ecc02457ad (patch)
tree7b5159aa94c4255c7538d2a44d4cbc08a1ab11d8 /include/linux
parentacacb960c5ce8f3840d030c5802879f87cdda57e (diff)
[NET]: Make SKB layout/initialization/copy more cache friendly.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/skbuff.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index eeb6322193d7..3be29f0d15f6 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -231,15 +231,8 @@ struct sk_buff {
pkt_type,
ip_summed;
__u32 priority;
- atomic_t users;
unsigned short protocol,
security;
- unsigned int truesize;
-
- unsigned char *head,
- *data,
- *tail,
- *end;
void (*destructor)(struct sk_buff *skb);
#ifdef CONFIG_NETFILTER
@@ -261,6 +254,14 @@ struct sk_buff {
#ifdef CONFIG_NET_SCHED
__u32 tc_index; /* traffic control index */
#endif
+
+ /* These elements must be at the end, see alloc_skb() for details. */
+ unsigned int truesize;
+ atomic_t users;
+ unsigned char *head,
+ *data,
+ *tail,
+ *end;
};
#define SK_WMEM_MAX 65535