Lpfc_vector_map.sh – Dell Emulex Family of Adapters User Manual
Page 867

Emulex Drivers Version 10.2 for Linux User Manual
P010081-01A Rev. A
3. Configuration
LPFC Driver Performance Tuning
867
By default, the module parameter is configured for 50,000 interrupts per second per
adapter port.
lpfc_vector_map.sh
The lpfc_vector_map.sh script uses kernel sysfs entry points to map a specific I/O
channel (MSI-X vector-EQ/CQ/WQ tuple) to a specific CPU. The script should be run
immediately after the driver is loaded.
This script resides in /usr/sbin/lpfc. The recommended way to run this script is by
adding the following line to /etc/modprobe.d/lpfc.conf and thru /etc/rc.d for the
initial boot:
install lpfc /sbin/modprobe --ignore-install lpfc;
/usr/sbin/lpfc/lpfc_vector_map.sh
The script maps each interrupt vector allocated by the driver to a CPU, thereby
spreading the interrupt load of the ports across multiple CPUs. Each vector, with its
associated I/O channel, is sequentially mapped to a CPU in a round-robin fashion. The
number of vectors assigned to each adapter port is defined by the lpfc_fcp_io_channel
module parameter.
I/O channels, which correspond to vectors, are typically mapped to unique CPUs to
enhance the ability of the driver to run multiple FCP commands in parallel. In addition,
running this script forces I/O scheduling to be by CPU (lpfc_fcp_io_sched = 1) which
increases performance when a specific I/O channel is mapped to a specific CPU.
The script has two modes of operation: Driver mode and HBA mode. By default, the
script runs in Driver mode.
Driver Mode
Driver mode maps all vectors for all driver ports, starting with CPU0, sequentially
assigning a new CPU for each vector belonging to the entire driver. If there are
more interrupt vectors than CPUs, the vector assignment wraps back to CPU0 as
needed.
HBA Mode
HBA mode maps all vectors for each specific adapter port, starting with CPU0,
sequentially assigning a new CPU for each vector belonging to that adapter port.