On 03/07/2020 14:01, Hannes Reinecke wrote:
Hi all,
quite some drivers use internal commands for various purposes, most
commonly sending TMFs or querying the HBA status.
While these commands use the same submission mechanism than normal
I/O commands, they will not be counted as outstanding commands,
requiring those drivers to implement their own mechanism to figure
out outstanding commands.
The block layer already has the concept of 'reserved' tags for
precisely this purpose, namely non-I/O tags which live off a separate
tag pool. That guarantees that these commands can always be sent,
and won't be influenced by tag starvation from the I/O tag pool.
This patchset enables the use of reserved tags for the SCSI midlayer
by allocating a virtual LUN for the HBA itself which just serves
as a resource to allocate valid tags from.
This removes quite some hacks which were required for some
drivers (eg. fnic or snic), and allows the use of tagset
iterators within the drivers.
The entire patchset can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git reserved-tags.v6
Hi Hannes,
Any chance you can repost this series? I'm being a bit of a nag :)
It now looks like some drivers may also need this for supporting
io_uring in SCSI mid-layer:
https://lore.kernel.org/linux-scsi/20201015133541.60400-1-kashyap.desai@xxxxxxxxxxxx/
And it's also useful for the runtime PM which we were supporting for
hisi_sas, to track IOs.
I know that you were hoping for a few more reviews, but I don't think
that they are coming for v6 now. And at least I gave a few comments
here, like:
https://lore.kernel.org/linux-scsi/b03c1256-8255-5e7f-dda3-df036aaef812@xxxxxxxxxx/
And there were other comments.
Please let me know.
Cheers,
John