Message ID | 20230224183323.638-1-jonathan.derrick@linux.dev (mailing list archive) |
---|---|
Headers | show |
Series | md/bitmap: Optimal last page size | expand |
On Fri, Feb 24, 2023 at 10:35 AM Jonathan Derrick <jonathan.derrick@linux.dev> wrote: > > From: Jon Derrick <jonathan.derrick@linux.dev> > > Currently the last bitmap page write will size itself down to the logical block > size. This could cause less performance for devices which have atomic write > units larger than the block size, such as many NVMe devices with 4kB write > units and 512B block sizes. There is usually a large amount of space after the > bitmap and using the optimal I/O size could favor speed over size. > > This was tested on an Intel/Solidigm P5520 drive with lba format 512B, > optimal I/O size of 4kB, resulting in a > 10x IOPS increase. > > See patch 3 log for results. > > v4->v5: Initialized rdev (kernel test bot) > v3->v4: Fixed reviewers concerns > v2->v3: Prep patch added and types fixed > Added helpers for optimal I/O sizes > Applied to md-next. Thanks! I also added Tested-by: Xiao Ni <xni@redhat.com> Thanks, Song
From: Jon Derrick <jonathan.derrick@linux.dev> Currently the last bitmap page write will size itself down to the logical block size. This could cause less performance for devices which have atomic write units larger than the block size, such as many NVMe devices with 4kB write units and 512B block sizes. There is usually a large amount of space after the bitmap and using the optimal I/O size could favor speed over size. This was tested on an Intel/Solidigm P5520 drive with lba format 512B, optimal I/O size of 4kB, resulting in a > 10x IOPS increase. See patch 3 log for results. v4->v5: Initialized rdev (kernel test bot) v3->v4: Fixed reviewers concerns v2->v3: Prep patch added and types fixed Added helpers for optimal I/O sizes Jon Derrick (3): md: Move sb writer loop to its own function md: Fix types in sb writer md: Use optimal I/O size for last bitmap page drivers/md/md-bitmap.c | 143 ++++++++++++++++++++++++----------------- 1 file changed, 83 insertions(+), 60 deletions(-)