Lpfc_fcp_io_sched, Lpfc_fcp_imax – Dell Emulex Family of Adapters User Manual

Page 866

Advertising
background image

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.

Advertising