Message ID | 20200703130122.111448-1-hare@suse.de (mailing list archive) |
---|---|
Headers | show |
Series | scsi: enable reserved commands for LLDDs | expand |
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@broadcom.com/ 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@huawei.com/ And there were other comments. Please let me know. Cheers, John
On 10/27/20 4:27 PM, John Garry wrote: > 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@broadcom.com/ > > > 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@huawei.com/ > > > And there were other comments. > That was actually on the list of things to do next, ie rebasing this series now that the shared tags patchset is in. Oh, and I do have an updated hpsa patch, which doesn't crash on my systems. Will be posting that one separately. Cheers, Hannes
On 27/10/2020 15:53, Hannes Reinecke wrote: >> > That was actually on the list of things to do next, ie rebasing this > series now that the shared tags patchset is in. > Sounds good. > Oh, and I do have an updated hpsa patch, which doesn't crash on my > systems. Will be posting that one separately. I always thought that change (switch to MQ) looked better with $subject series, but I'll leave that to you and Don. cheers, John
On 10/27/20 5:59 PM, John Garry wrote: > On 27/10/2020 15:53, Hannes Reinecke wrote: >>> >> That was actually on the list of things to do next, ie rebasing this >> series now that the shared tags patchset is in. >> > > Sounds good. > >> Oh, and I do have an updated hpsa patch, which doesn't crash on my >> systems. Will be posting that one separately. > > I always thought that change (switch to MQ) looked better with $subject > series, but I'll leave that to you and Don. > Yes, same here; with reserved commands hpsa becomes _much_ easier. Now I only need to figure out a way how to handle consecutive tags; for some drivers not only the command needs a tag, but the sgls also, thereby completely messing up our mq tags logic. So to map those we'd need to allocate _several_ tags for one command, _and_ these additional tags won't be of 'struct request'. Maybe we can do some tag chaining ... But I'll be updating the patchset. Cheers, Hannes