On 27/01/2022 06:37, Damien Le Moal wrote: Hi Damien,
I did some light testing of this series (boot + some fio runs) and everything looks good using my "ATTO Technology, Inc. ExpressSAS 12Gb/s SAS/SATA HBA (rev 06)" HBA (x86_64 host).
Yeah, unfortunately these steps prob won't exercise much of the code changes here since I figure error handling would not kick in.
However using this same adapter type on my arm64 system has error handling kick in almost straight away - and the handling looks sane. A silver lining, I suppose ..
Of note is that "make W=1 M=drivers/scsi" complains with: drivers/scsi/pm8001/pm80xx_hwi.c:3938: warning: Function parameter or member 'circularQ' not described in 'process_one_iomb'
That's per-existing. I'll send a patch for that now along with another fix I found for that driver. ....
And sparse/make C=1 complains about: drivers/scsi/libsas/sas_port.c:77:13: warning: context imbalance in 'sas_form_port' - different lock contexts for basic block
I think it's talking about the port->phy_list_lock usage - it prob doesn't like segments where we fall out a loop with the lock held (which was grabbed in the loop). Anyway it looks ok. Maybe we can improve this.
But I have not checked if it is something that your series touch. And there is a ton of complaints about __le32 use in the pm80xx code... I can try to have a look at these if you want, on top of your series.
I really need to get make C=1 working for me - it segfaults in any env I have :(
Thanks, John