Re: [PATCH v2 57/84] nsp32: Call scsi_done() directly

Bart Van Assche
2021-10-04T16:28:53Z

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@acm.org/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.