Project

General

Profile

Bug #4825

mpt_sas should not do IO completions in the ISR

Added by Hans Rosenfeld about 6 years ago.

Status:
New
Priority:
Normal
Category:
-
Start date:
2014-04-29
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

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.

Also available in: Atom PDF