]> Gentwo Git Trees - linux/.git/commit
can: raw: reorder struct uniqframe's members to optimise packing
authorVincent Mailhol <mailhol@kernel.org>
Wed, 17 Sep 2025 04:48:24 +0000 (13:48 +0900)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 19 Sep 2025 18:56:34 +0000 (20:56 +0200)
commitfc8418eca43d5872e3976636d7c4924094bd07fd
treebeee5d97a3b86446b800f0cd086a66b690920595
parent2c9684bfee9476ef5038fe44d96464c632358fbc
can: raw: reorder struct uniqframe's members to optimise packing

struct uniqframe has one hole. Reorder the fields to save 8 bytes.

Statistics before:

  $ pahole --class_name=uniqframe net/can/raw.o
  struct uniqframe {
   int                        skbcnt;               /*     0     4 */

   /* XXX 4 bytes hole, try to pack */

   const struct sk_buff  *    skb;                  /*     8     8 */
   unsigned int               join_rx_count;        /*    16     4 */

   /* size: 24, cachelines: 1, members: 3 */
   /* sum members: 16, holes: 1, sum holes: 4 */
   /* padding: 4 */
   /* last cacheline: 24 bytes */
  };

...and after:

  $ pahole --class_name=uniqframe net/can/raw.o
  struct uniqframe {
   const struct sk_buff  *    skb;                  /*     0     8 */
   int                        skbcnt;               /*     8     4 */
   unsigned int               join_rx_count;        /*    12     4 */

   /* size: 16, cachelines: 1, members: 3 */
   /* last cacheline: 16 bytes */
  };

Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Vincent Mailhol <mailhol@kernel.org>
Link: https://patch.msgid.link/20250917-can-raw-repack-v2-1-395e8b3a4437@kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/raw.c