diff options
author | Jakub Kicinski <kuba@kernel.org> | 2023-04-17 08:53:48 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-04-19 13:04:30 +0100 |
commit | 4398f3f6d1380d9f71a484e1e5d869ba0eaf23d5 (patch) | |
tree | 1ee7bb9359b22fc71536f71800724cfdf330b053 /include/linux/skbuff.h | |
parent | c24831a13ba2e472f874483525084da2f2feb890 (diff) | |
download | lwn-4398f3f6d1380d9f71a484e1e5d869ba0eaf23d5.tar.gz lwn-4398f3f6d1380d9f71a484e1e5d869ba0eaf23d5.zip |
net: skbuff: move alloc_cpu into a potential hole
alloc_cpu is currently between 4 byte fields, so it's almost
guaranteed to create a 2B hole. It has a knock on effect of
creating a 4B hole after @end (and @end and @tail being in
different cachelines).
None of this matters hugely, but for kernel configs which
don't enable all the features there may well be a 2B hole
after the bitfield. Move alloc_cpu there.
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r-- | include/linux/skbuff.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 98d6b48f4dcf..2595b2cfba0d 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -991,6 +991,8 @@ struct sk_buff { __u16 tc_index; /* traffic control index */ #endif + u16 alloc_cpu; + union { __wsum csum; struct { @@ -1014,7 +1016,6 @@ struct sk_buff { unsigned int sender_cpu; }; #endif - u16 alloc_cpu; #ifdef CONFIG_NETWORK_SECMARK __u32 secmark; #endif |