Hi John, > I'm not sure if this change was meant to help, but I still see timeouts on my > 96-core arm64 machine with this change - see log at bottom. > > I still get the feeling that this issue I mention is timing related, as it goes away > when I enable lots of heavy debug (like kasan, kmemleak, prove_locking, etc. > Thank you for sharing your observation on arm server with respect to these patches. It will be difficult to comment right now on arm server and as you said issue is not observed when debugs are enabled. Current patch was tested on amd 128 core server x86_64, drives connected to enclosure. Loading driver(without patch) on this 128 core server had issues. To get better understanding, booted the server in two scenarios, boot arguments 1. nr_cpus=32 2. nr_cpus=34 For #1 nr_cpus=32, was able to load the driver, run fio, unload the driver without any issue. But for #2 nr_cpus=34, things were not working properly. Loading had issues. Error handler was getting triggered. After giving some debug prints, it was visible that request submitted on IQ31 or less were getting completion whereas for requests on IQ32 and IQ33 were not receiving completion/interrupt. Post enabling this E64Q bit in the controller, made a difference. Now driver can be loaded, run FIO, unload it without observing any issue, including on 128 core default setting. Thanks, Ajish