Re: [PATCH 1/5] Btrfs: stop using btrfs_schedule_bio()

From: Nikolay Borisov
Date: Thu Jul 11 2019 - 07:32:27 EST




On 10.07.19 Ð. 22:28 Ñ., Tejun Heo wrote:
> From: Chris Mason <clm@xxxxxx>
>
> btrfs_schedule_bio() hands IO off to a helper thread to do the actual
> submit_bio() call. This has been used to make sure async crc and
> compression helpers don't get stuck on IO submission. To maintain good
> performance, over time the IO submission threads duplicated some IO
> scheduler characteristics such as high and low priority IOs and they
> also made some ugly assumptions about request allocation batch sizes.
>
> All of this cost at least one extra context switch during IO submission,
> and doesn't fit well with the modern blkmq IO stack. So, this commit stops
> using btrfs_schedule_bio(). We may need to adjust the number of async
> helper threads for crcs and compression, but long term it's a better
> path.
>
> Signed-off-by: Chris Mason <clm@xxxxxx>
> Reviewed-by: Josef Bacik <josef@xxxxxxxxxxxxxx>

Reviewed-by: Nikolay Borisov <nborisov@xxxxxxxx>

<snip>