Thread (36 messages) 36 messages, 3 authors, 2021-02-19

Re: [PATCH 16/25] target: add workqueue based cmd submission

From: Bodo Stroesser <bostroesser@gmail.com>
Date: 2021-02-19 19:10:51
Also in: target-devel

On 17.02.21 21:28, Mike Christie wrote:
loop and vhost-scsi do their target cmd submission from driver
workqueues. This allows them to avoid an issue where the backend may
block waiting for resources like tags/requests, mem/locks, etc
and that ends up blocking their entire submission path and for the
case of vhost-scsi both the submission and completion path.

This patch adds a helper drivers can use to submit from a lio
workqueue. This code will then be extended in the next patches to
fix the plugging of backend devices.

Note: I'm only converting vhost/loop initially, but the workqueue
based submission will work for other drivers and have similar
benefits where the main target loops will not end up blocking one
some backend resource. I'll port others when I have more time to
test as I think we might want to make it configurable for some
drivers.

Signed-off-by: Mike Christie <michael.christie@oracle.com>
Tested-by: Laurence Oberman <redacted>
---
  drivers/target/target_core_device.c    | 10 ++++--
  drivers/target/target_core_internal.h  |  1 +
  drivers/target/target_core_transport.c | 42 +++++++++++++++++++++++++-
  include/target/target_core_base.h      |  8 ++++-
  include/target/target_core_fabric.h    |  2 ++
  5 files changed, 59 insertions(+), 4 deletions(-)

Looks good.

Reviewed-by: Bodo Stroesser <bostroesser@gmail.com>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help