On 10/3/21 9:15 PM, Masanori Goto wrote:
Indeed this is a no-op change, but in a different thread, one interesting question raised was to remove scsi_done* in the argument of queuecommand_lck, so that the change is much cleaner and generic. Could you conduct a research on whether it's removal or not? I'd like to hear from the overall SCSI maintainer perspective too. Also, I'm curious why the IOPS was improved - what kind of device drives did you use? Specifically, nsp32 was designed for PCI based devices so it cannot handle millions of QPS - so this change has unlikely an impact to the performance gain. This comes back to the first scsi_done question on whether this overall framework should be changed or not.
Hi Masanori, I will include a patch in the next version of this series that removes the 'done' argument from those SCSI LLDs that use DEF_SCSI_QCMD(). The script that I used to measure the performance difference is available here: https://lore.kernel.org/linux-scsi/f293d333-3fd0-b62e-58d2-6ed388efa1de@xxxxxxx/T/#m7ab39cf1c14016b833c935f897eb406e0011dafe I do not expect this patch series to affect the performance of the nsp32 driver. All SCSI LLDs have to be modified because patch 84/84 removes the scsi_done member from struct scsi_cmnd. Thanks, Bart.