Re: [PATCH RESEND] md: raid0: account for split bio in iostat accounting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 15, 2023 at 4:54 AM David Jeffery <djeffery@xxxxxxxxxx> wrote:
>
> When a bio is split by md raid0, the newly created bio will not be tracked
> by md for I/O accounting. Only the portion of I/O still assigned to the
> original bio which was reduced by the split will be accounted for. This
> results in md iostat data sometimes showing I/O values far below the actual
> amount of data being sent through md.
>
> md_account_bio() needs to be called for all bio generated by the bio split.
>
> Fixes: 10764815ff47 ("md: add io accounting for raid0 and raid5")
> Signed-off-by: David Jeffery <djeffery@xxxxxxxxxx>
> Tested-by: Laurence Oberman <loberman@xxxxxxxxxx>
> Reviewed-by: Laurence Oberman <loberman@xxxxxxxxxx>
> Reviewed-by: Yu Kuai <yukuai3@xxxxxxxxxx>

It appears this patch conflicts with Jan's set:

https://lore.kernel.org/linux-raid/20230814091452.9670-1-jack@xxxxxxx/

Please rebase on top of md-next and resubmit the patch:

https://git.kernel.org/pub/scm/linux/kernel/git/song/md.git/log/?h=md-next

> ---
>
> No change to the patch itself. Added Fixes and Reviewed-by lines.
>
> A simple example of the issue was generated using a raid0 device on partitions
> to the same device. Since all raid0 I/O then goes to one device, it makes it
> easy to see a gap between the md device and its sd storage. Reading an lvm
> device on top of the md device, the iostat output (some 0 columns and extra
> devices removed to make the data more compact) was:
>
> Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read
> md2               0.00         0.00         0.00         0.00          0
> sde               0.00         0.00         0.00         0.00          0
> md2            1364.00    411496.00         0.00         0.00     411496
> sde            1734.00    646144.00         0.00         0.00     646144
> md2            1699.00    510680.00         0.00         0.00     510680
> sde            2155.00    802784.00         0.00         0.00     802784
> md2             803.00    241480.00         0.00         0.00     241480
> sde            1016.00    377888.00         0.00         0.00     377888
> md2               0.00         0.00         0.00         0.00          0
> sde               0.00         0.00         0.00         0.00          0
>
> I/O was generated doing large direct I/O reads (12M) with dd to a linear
> lvm volume on top of the 4 leg raid0 device.
>
> The md2 reads were showing as roughly 2/3 of the reads to the sde device
> containing all of md2's raid partitions. The sum of reads to sde was
> 1826816 kB, which was the expected amount as it was the amount read by
> dd. With the patch, the total reads from md will match the reads from
> sde and be consistent with the amount of I/O generated.

We can include this part in the commit log to keep more context for future
reference.

Thanks,
Song




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux