[LSF/MM TOPIC] blk-mq private tags for SCSI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Resending with proper header, thx jthumshirn]

Hi all,

blk-mq has the concept of 'private' tags to handle driver-internal commands.
Also quite some SCSI HBAs use internal commands for configuration, event handling etc. But sadly no interface to use the 'private' tags from the block layer exists, so quite some drivers like megaraid_sas, aacraid, or hpsa have to implement their own management of internal commands.

I have made several prototypes on how private tags could be used in the SCSI context, but neither attempts turned out to be utterly convincing:

a) create an abstraction in the block layer to get private tags directly
   from the tag map. Problem is that the tag allocation mechanism is
   deeply intertwined with request queues, so desegregating them would
   involve quite some churn in the block layer.

b) create a separate admin queue for private commands. Problem is that
   then we always will have a SCSI command as the first payload, which
   in most cases isn't required as most of the internal commands are
   transport or HBA specific, not SCSI CDBs. Also for some drivers we
   need to send commands to figure out the configuration, which then
   influences the size of the tag space, leaving us with a catch-22
   situation.

I would like to discuss at LSF/MM if using private tags in the SCSI layer is something to be attempted, and if so what would be the best direction to take.

Cheers,

Hannes
--
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@xxxxxxx			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux