Lpfc_fcp_io_sched, Lpfc_fcp_imax – Dell Emulex Family of Adapters User Manual
Page 866

Emulex Drivers Version 10.2 for Linux User Manual
P010081-01A Rev. A
3. Configuration
LPFC Driver Performance Tuning
866
supporting parallel I/O paths, and each I/O path is capable of posting and completing
FCP commands independent of the other.
OneConnect and LPe16000 and LPe15000 series adapters that are running in MSI-X
interrupt mode can use more than one I/O path. Each I/O channel is composed of a
unique MSI-X vector- EQ/CQ/WQ tuple. This parameter will override the value of the
lpfc_fcp_eq_channel and the lpfc_fcp_wq_count parameters.
Note: LPe12000, LPe11000 and LP11000 adapters only support one I/O path, so this
parameter has no effect on them.
By default, the driver is configured for four I/O channels per port. The driver will also
limit the number of I/O channels to not exceed the number of online “logical” CPUs (as
reported by /proc/cpuinfo).
lpfc_fcp_io_sched
The lpfc_fcp_io_sched module parameter can be configured at driver load time. It can
also be set dynamically as an sysfs entry. The driver uses the parameter to determine
which algorithm to use when scheduling an FCP I/O to an I/O channel.
Note: This parameter is only applicable for OneConnect adapters and LPe16000 and
LPe15000 series adapters.
When multiple I/O channels are in use, I/Os can be scheduled to an I/O channel in a
round-robin fashion, or by determining which CPU is running when the I/O is
submitted.
The default value (0) configures the driver for round-robin scheduling. A value of 1
configures scheduling by CPU.
lpfc_fcp_imax
The lpfc_fcp_imax can be configured at driver load time. It can also be set dynamically
as an sysfs entry. This parameter defines the maximum number of interrupts per
second that each adapter port will support.
Note: This parameter is only applicable for OneConnect adapters and LPe16000 and
LPe15000 series adapters.
Considerations
The lower the value set, the more completions are coalesced by the adapter,
which causes the driver to handle multiple completions under the context of
one interrupt. The higher the value, the faster an interrupt is generated for a
completed command. Therefore, a balanced or “tuned” system must be found.
A lower value equals higher interrupt latency; a higher value equals lower
interrupt latency.
Faster completions consume more system resources and CPU cycles, as the
overhead of one interrupt completes fewer commands. The value is divided by
the number of I/O channels, and each I/O channel is separately configured for
its own interrupt latency.