On 26/08/2019 16:27, Hannes Reinecke wrote:
On 8/23/19 3:26 PM, John Garry wrote:
On 29/05/2019 14:28, 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.
This patchset enables the use of reserved tags for the SCSI midlayer,
enabling LLDDs to rely on the block layer for tracking outstanding
commands.
More importantly, it allows LLDD to request a valid tag from the block
layer without having to implement some tracking mechanism within the
driver. This removes quite some hacks which were required for some
drivers (eg. fnic or snic).
As usual, comments and reviews are welcome.
Hi Hannes,
I was wondering if you have any plans to progress this series?
I don't mind helping out...
Thanks for the reminder.
Hi Hannes,
I'll need to re-evaluate this where we stand now with shared tags;
As Ming Lei mentioned in
https://www.spinics.net/lists/linux-block/msg43779.html, the future for
hostwide shared tags doesn't look bright. I would tend to agree.
this patchset partially relies on them.
In which way? I didn't think/hope it did.
Will be sending an updated patchset.
For me, the way I see forward is to upstream this series, in addition to
Ming's, linked above.
As for LLDDs and the unique tag problem, I suggest that they use sbitmap
to generate the tag internally if they want to expose multiple queues.
From our testing, using managed interrupts + sbitmap still far
outperforms non-managed interrupts.
This approach would mean that we can still revisit hostwide shared tags
or other some other approach in future.
Thanks,
John
Cheers,
Hannes