]> git.ipfire.org Git - thirdparty/linux.git/commit - include/linux/blkdev.h
block: rearrange a few request fields for better cache layout
authorJens Axboe <axboe@kernel.dk>
Wed, 10 Jan 2018 18:46:39 +0000 (11:46 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 10 Jan 2018 18:47:58 +0000 (11:47 -0700)
commit7c3fb70f0341f9d924818e648906774921f4bcb3
tree6f6eac29e2d0312784dc8e568c303e02391f3726
parente14575b3d457f5806d79b85886ef94d9c29e3b2a
block: rearrange a few request fields for better cache layout

Move completion related items (like the call single data) near the
end of the struct, instead of mixing them in with the initial
queueing related fields.

Move queuelist below the bio structures. Then we have all
queueing related bits in the first cache line.

This yields a 1.5-2% increase in IOPS for a null_blk test, both for
sync and for high thread count access. Sync test goes form 975K to
992K, 32-thread case from 20.8M to 21.2M IOPS.

Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c
include/linux/blkdev.h