From: Daniel Borkmann Date: Fri, 19 Apr 2013 06:12:28 +0000 (+0000) Subject: packet: reorder a member in packet_ring_buffer X-Git-Tag: v3.10-rc1~66^2~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0578edc5604e3e192980f406f9e1040aa6434ca4;p=platform%2Fkernel%2Flinux-stable.git packet: reorder a member in packet_ring_buffer There's a 4 byte hole in packet_ring_buffer structure before prb_bdqc, that can be filled with 'pending' member, thus we can reduce the overall structure size from 224 bytes to 216 bytes. This also has the side-effect, that in struct packet_sock 2*4 byte holes after the embedded packet_ring_buffer members are removed, and overall, packet_sock can be reduced by 1 cacheline: Before: size: 1344, cachelines: 21, members: 24 After: size: 1280, cachelines: 20, members: 24 Signed-off-by: Daniel Borkmann Signed-off-by: David S. Miller --- diff --git a/net/packet/internal.h b/net/packet/internal.h index e891f02..650751b 100644 --- a/net/packet/internal.h +++ b/net/packet/internal.h @@ -54,6 +54,7 @@ struct pgv { struct packet_ring_buffer { struct pgv *pg_vec; + unsigned int head; unsigned int frames_per_block; unsigned int frame_size; @@ -63,8 +64,9 @@ struct packet_ring_buffer { unsigned int pg_vec_pages; unsigned int pg_vec_len; - struct tpacket_kbdq_core prb_bdqc; atomic_t pending; + + struct tpacket_kbdq_core prb_bdqc; }; extern struct mutex fanout_mutex;