block: unalign call_single_data in struct request
authorJens Axboe <axboe@kernel.dk>
Wed, 20 Dec 2017 20:13:58 +0000 (13:13 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 20 Dec 2017 20:16:33 +0000 (13:16 -0700)
A previous change blindly added massive alignment to the
call_single_data structure in struct request. This ballooned it in size
from 296 to 320 bytes on my setup, for no valid reason at all.

Use the unaligned struct __call_single_data variant instead.

Fixes: 966a967116e69 ("smp: Avoid using two cache lines for struct call_single_data")
Cc: stable@vger.kernel.org # v4.14
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/blkdev.h

index 100d0df..0ce8a37 100644 (file)
@@ -135,7 +135,7 @@ typedef __u32 __bitwise req_flags_t;
 struct request {
        struct list_head queuelist;
        union {
-               call_single_data_t csd;
+               struct __call_single_data csd;
                u64 fifo_time;
        };