summaryrefslogtreecommitdiffstats
path: root/block/bdev.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2023-04-14 07:32:02 -0600
committerJens Axboe <axboe@kernel.dk>2023-04-16 13:01:42 -0600
commit9f4107b07b17b5ee68af680150f91227bea2df6f (patch)
tree54f7074442e4411c2770e09724b288422b95d2e6 /block/bdev.c
parent3838c406a594f15600ad6f83c1e3b16bfd1829d0 (diff)
downloadlinux-stable-9f4107b07b17b5ee68af680150f91227bea2df6f.tar.gz
linux-stable-9f4107b07b17b5ee68af680150f91227bea2df6f.tar.bz2
linux-stable-9f4107b07b17b5ee68af680150f91227bea2df6f.zip
block: store bdev->bd_disk->fops->submit_bio state in bdev
We have a long chain of memory dereferencing just to whether or not this disk has a special submit_bio helper. As that's not necessarily the common case, add a bd_has_submit_bio state in the bdev to avoid traversing this memory dependency chain if we don't need to. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/bdev.c')
-rw-r--r--block/bdev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/block/bdev.c b/block/bdev.c
index 1795c7d4b99e..850852fe4b78 100644
--- a/block/bdev.c
+++ b/block/bdev.c
@@ -419,6 +419,7 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
bdev->bd_inode = inode;
bdev->bd_queue = disk->queue;
bdev->bd_stats = alloc_percpu(struct disk_stats);
+ bdev->bd_has_submit_bio = false;
if (!bdev->bd_stats) {
iput(inode);
return NULL;