-----Original Message----- From: Don Brace - C33706 Sent: Tuesday, March 16, 2021 12:58 PM To: Don Brace - C33706 <Don.Brace@xxxxxxxxxxxxx>; hare@xxxxxxx; martin.petersen@xxxxxxxxxx Cc: james.bottomley@xxxxxxxxxxxxxxxxxxxxx; hch@xxxxxx; john.garry@xxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx Subject: RE: [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 03/29/2021 Don: After applying my patch commit 6651ea81e097b369ececdc53d1e04bc40955d92a (HEAD -> reserved-tags.v7) Author: Don Brace <don.brace@xxxxxxxxxxxxx> Date: Mon Feb 15 16:26:57 2021 -0600 scsi: hpsa: Correct dev cmds outstanding for retried cmds I re-ran my Heavy I/O scripts and testing held up. For the hpsa driver: Acked-by: Don Brace <don.brace@xxxxxxxxxxxxx> Tested-by: Don Brace <don.brace@xxxxxxxxxxxxx>