mbox series

[v3,0/3] Improve performance for BLK_MQ_F_BLOCKING drivers

Message ID 20230721172731.955724-1-bvanassche@acm.org (mailing list archive)
Headers show
Series Improve performance for BLK_MQ_F_BLOCKING drivers | expand

Message

Bart Van Assche July 21, 2023, 5:27 p.m. UTC
Hi Jens,

Request queues are run asynchronously if BLK_MQ_F_BLOCKING has been set. This
results in suboptimal performance. This patch series improves performance if
BLK_MQ_F_BLOCKING has been set by running request queues synchronously
whenever possible.

Please consider this patch series for the next merge window.

Thanks,

Bart.

Changes compared to v2:
- Improved the descriptions of patches 1/3 and 2/3.
- Added a comment in patch 2/3.
- In patch 3/3, included a change for blk_execute_rq_nowait() since I noticed
  that this function may be called from a context where it is not allowed to
  sleep (nvme_uring_cmd_io() for NVMe over TCP).

Changes compared to v1:
- Fixed support for the combination BLK_MQ_F_BLOCKING + BLIST_SINGLELUN.

Bart Van Assche (3):
  scsi: Inline scsi_kick_queue()
  scsi: Remove a blk_mq_run_hw_queues() call
  block: Improve performance for BLK_MQ_F_BLOCKING drivers

 block/blk-mq.c          | 17 +++++++++++------
 drivers/scsi/scsi_lib.c | 12 ++++--------
 2 files changed, 15 insertions(+), 14 deletions(-)

Comments

Jens Axboe July 25, 2023, 2:13 a.m. UTC | #1
On Fri, 21 Jul 2023 10:27:27 -0700, Bart Van Assche wrote:
> Request queues are run asynchronously if BLK_MQ_F_BLOCKING has been set. This
> results in suboptimal performance. This patch series improves performance if
> BLK_MQ_F_BLOCKING has been set by running request queues synchronously
> whenever possible.
> 
> Please consider this patch series for the next merge window.
> 
> [...]

Applied, thanks!

[1/3] scsi: Inline scsi_kick_queue()
      commit: b5ca9acff553874aaf1faf176e076cbd7cc4aa0e
[2/3] scsi: Remove a blk_mq_run_hw_queues() call
      commit: d42e2e3448a99c41c8489766eeb732d8d741d5be
[3/3] block: Improve performance for BLK_MQ_F_BLOCKING drivers
      commit: 65a558f66c308251e256317957b75d1e643c33c3

Best regards,