diff options
author | Ming Lei <ming.lei@redhat.com> | 2020-05-08 11:17:57 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-05-13 05:31:39 +0300 |
commit | 520138c3b9425c615d1417687947d86821003319 (patch) | |
tree | e02efdb939842d33ab3df422f24c0a30e4fbbe99 /include | |
parent | 07c4e1e834f8e7c991aa6dcb5ee0b7f2842e495d (diff) | |
download | linux-520138c3b9425c615d1417687947d86821003319.tar.xz |
block: re-organize fields of 'struct hd_part'
Put all fields accessed in IO path together at the beginning
of the struct, so that all can be fetched in single cacheline.
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Christoph Hellwig <hch@infradead.org>
Cc: Yufen Yu <yuyufen@huawei.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Hou Tao <houtao1@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/genhd.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index b4744035ae58..a9384449465a 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -71,6 +71,14 @@ struct hd_struct { #if BITS_PER_LONG==32 && defined(CONFIG_SMP) seqcount_t nr_sects_seq; #endif + unsigned long stamp; +#ifdef CONFIG_SMP + struct disk_stats __percpu *dkstats; +#else + struct disk_stats dkstats; +#endif + struct percpu_ref ref; + sector_t alignment_offset; unsigned int discard_alignment; struct device __dev; @@ -80,13 +88,6 @@ struct hd_struct { #ifdef CONFIG_FAIL_MAKE_REQUEST int make_it_fail; #endif - unsigned long stamp; -#ifdef CONFIG_SMP - struct disk_stats __percpu *dkstats; -#else - struct disk_stats dkstats; -#endif - struct percpu_ref ref; struct rcu_work rcu_work; }; |