mpt_sas should not do IO completions in the ISR
We have seen a performance problem caused by spending too much time in interrupt context when doing lots of writes on an all SSD system. The CPU is being hogged by the ISR (~90% in kernel) and performance generally sucks.
This was not seen with HDDs since they generate completion interrupts at much slower rates, but SSDs seem to be bottle-necking at mptsas_intr.
Mpt_sas already supports doing the completion in helper threads, but it is doing this only if the doneq length exceeds a certain threshold. Changing this to process the completions always in a helper thread gave us a reduction of CPU time by 30% plus a slight improvement in performance in an all write workload.
No data to display