On 1/26/19 2:18 AM, James Smart wrote:
Default behavior is to use the information from the upper io
stacks to select the hardware queue to use for io submission.
which typically has good cpu affinity.
However, the driver, when used on some variants of the upstream
kernel, has found queuing information to be suboptimal for FCP
or io completion locked on particular cpus.
For command submission situations, the lpfc_fcp_io_sched module
parameter can be set to specify a hardware queue selection policy
that overrides the os stack information.
For io completion situations, rather than queing cq processing
based on the cpu servicing the interrupting event, schedule the
cq processing on the cpu associated with the hardware queue's cq.
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxx>
Signed-off-by: James Smart <jsmart2021@xxxxxxxxx>
Hmm. I would have thought that I/O completion should _always_ occur on
the CPU from which the I/O originates; after all, that was the main
point of blk-mq.
And I would certainly treat it as a bug if that weren't the case...
But anyway.
Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>
Cheers,
Hannes