-----Original Message----- Subject: RE: [PATCHv7 00/31] scsi: enable reserved commands for LLDDs -----Original Message----- From: Hannes Reinecke [mailto:hare@xxxxxxx] Subject: [PATCHv7 00/31] scsi: enable reserved commands for LLDDs 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.v7 Don: Cloned and kernel built. I'll have some test results by end of next week or so... Thanks, Don -- 2.29.2 Don: 03/16/2021 Have run a lot of heavy I/O tests. The driver/OS holds together until there are reset operations. The resets do not complete because of 1 patch pending on Martin Peterson's 5.13/scsi-queue tree f749d8b7a989 scsi: hpsa: Correct dev cmds outstanding for retried cmds and pending patch https://patchwork.kernel.org/project/linux-scsi/patch/161540317205.18786.5821926127237311408.stgit@brunhilda/ hpsa: fix regression issue for old controllers My testing consisted of running 7 operations in parallel using a lot of HBA, LVs, and AIO LVs. 1. mkfs 2. mount 3. rsync to mounted volumes 4. fio to mounted file systems. 5. umount 6. fsck 7. fio to raw disks. So far, so good, but I need to add in tests that exercise the reserved slots. I'll start that soon after I complete my resulting logfile checks. Thanks, Don