From 982b48ae25d9aabd69c1f012a94f63766181f0b2 Mon Sep 17 00:00:00 2001 From: Mike Snitzer Date: Sat, 26 Mar 2022 14:38:07 -0400 Subject: [PATCH] dm: move hot dm_io members to same cacheline as dm_target_io Just saves some cacheline bouncing for members accessed during cloned bio submission and completion. Signed-off-by: Mike Snitzer --- drivers/md/dm-core.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/md/dm-core.h b/drivers/md/dm-core.h index db069fa9cee53..41d6511dc7cfb 100644 --- a/drivers/md/dm-core.h +++ b/drivers/md/dm-core.h @@ -250,17 +250,19 @@ static inline bool dm_tio_is_normal(struct dm_target_io *tio) #define DM_IO_MAGIC 19577 struct dm_io { unsigned short magic; - blk_short_t flags; - atomic_t io_count; - struct mapped_device *md; - struct bio *orig_bio; - blk_status_t status; + spinlock_t lock; unsigned long start_time; void *data; struct hlist_node node; struct task_struct *map_task; struct dm_stats_aux stats_aux; + + blk_short_t flags; + blk_status_t status; + atomic_t io_count; + struct mapped_device *md; + struct bio *orig_bio; /* last member of dm_target_io is 'struct bio' */ struct dm_target_io tio; };