x86/mce: Avoid unnecessary padding in struct mce_bank
authorSmita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
Fri, 25 Feb 2022 19:33:40 +0000 (13:33 -0600)
committerBorislav Petkov <bp@suse.de>
Tue, 5 Apr 2022 19:23:34 +0000 (21:23 +0200)
Convert struct mce_bank member "init" from bool to a bitfield to get rid
of unnecessary padding.

$ pahole -C mce_bank arch/x86/kernel/cpu/mce/core.o

before:

  /* size: 16, cachelines: 1, members: 2 */
  /* padding: 7 */
  /* last cacheline: 16 bytes */

after:

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

No functional changes.

Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220225193342.215780-2-Smita.KoralahalliChannabasappa@amd.com
arch/x86/kernel/cpu/mce/core.c

index 981496e6bc0e41d44ee8f4802ef70deb10cbb8d8..d775fcd74e98d268d4251402d10c1cbf5a52e66f 100644 (file)
@@ -69,7 +69,9 @@ DEFINE_PER_CPU_READ_MOSTLY(unsigned int, mce_num_banks);
 
 struct mce_bank {
        u64                     ctl;                    /* subevents to enable */
-       bool                    init;                   /* initialise bank? */
+
+       __u64 init                      : 1,            /* initialise bank? */
+             __reserved_1              : 63;
 };
 static DEFINE_PER_CPU_READ_MOSTLY(struct mce_bank[MAX_NR_BANKS], mce_banks_array);