mbox series

[v5,0/3] md/bitmap: Optimal last page size

Message ID 20230224183323.638-1-jonathan.derrick@linux.dev (mailing list archive)
Headers show
Series md/bitmap: Optimal last page size | expand

Message

Jonathan Derrick Feb. 24, 2023, 6:33 p.m. UTC
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(-)

Comments

Song Liu March 13, 2023, 9:38 p.m. UTC | #1
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