dm: move hot dm_io members to same cacheline as dm_target_io
authorMike Snitzer <snitzer@kernel.org>
Sat, 26 Mar 2022 18:38:07 +0000 (14:38 -0400)
committerMike Snitzer <snitzer@kernel.org>
Thu, 5 May 2022 21:31:34 +0000 (17:31 -0400)
Just saves some cacheline bouncing for members accessed during cloned
bio submission and completion.

Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-core.h

index db069fa..41d6511 100644 (file)
@@ -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;
 };