Re: [PATCH RFC v2 02/24] scsi: allocate separate queue for reserved commands

From: John Garry
Date: Tue Mar 10 2020 - 17:09:03 EST


On 10/03/2020 18:32, Christoph Hellwig wrote:
On Wed, Mar 11, 2020 at 12:25:28AM +0800, John Garry wrote:
From: Hannes Reinecke <hare@xxxxxxxx>

Allocate a separate 'reserved_cmd_q' for sending reserved commands.

Why? Reserved command specifically are not in any way tied to queues.
.


So the v1 series used a combination of the sdev queue and the per-host reserved_cmd_q. Back then you questioned using the sdev queue for virtio scsi, and the unconfirmed conclusion was to use a common per-host q. This is the best link I can find now:

https://www.mail-archive.com/linux-scsi@xxxxxxxxxxxxxxx/msg83177.html

"

>> My implementation actually allows for per-device reserved tags (eg for
>> virtio). But some drivers require to use internal commands prior to any
>> device setup, so they have to use a separate reserved command queue just to
>> be able to allocate tags.
>
> Why would virtio-scsi need per-device reserved commands? It currently uses
> a global mempool to allocate the reset commands.
>
Oh, I'm perfectly fine with dropping the per-device reserved commands,
and use the host-wide queue in general.
It turns out most of the drivers use it that way already.
Will be doing so for the next iteration.

"

Cheers