
Issue 11
© Solarflare Communications 2014
94
Solarflare Server Adapter
User Guide
# echo 1 > /proc/irq/123/smp_affinity 1hex is bit 0 = CPU0
# echo 400 > /proc/irq/131/smp_affinity 400hex is bit 10 = CPU10
Buffer Allocation Method
The Solarflare driver has a single optimized buffer allocation strategy. This replaces the two different
methods controlled with the
rx_alloc_method
driver module parameter which were available
using 3.3 and previous drivers.
The net driver continues to expose the
rx_alloc_method
module option, but the value is ignored
and it only exists to not break existing customer configurations.
TX PIO
PIO (programmed input/output) describes the process where data is directly transferred by the CPU
to or from an I/O device. It’s is an alternative technique to the I/O device using bus master DMA to
transfer data without CPU involvement.
Solarflare 7000 series adapters support TX PIO, where packet s on the transmit path can be “pushed”
to the adapter directly by the CPU. This improves the latency of transmitted packets but can cause a
very small increase in CPU utilisation. TX PIO is therefore especially useful for smaller packets.
The TX PIO feature is enabled by default for packets up to 256 bytes. The maximum packet size that
can use PIO can be configured with the driver module option
piobuf_size
.
Other Considerations
PCI Express Lane Configurations
The PCI Express (PCIe) interface used to connect the adapter to the server can function at different
widths. This is independent of the physical slot size used to connect the adapter. The possible widths
are multiples x1, x2, x4, x8 and x16 lanes of (2.5Gbps for PCIe Gen 1, 5.0 Gbps for PCIe Gen 2
and 8.0
Gbps for PCIe Gen 3) in each direction. Solarflare Adapters are designed for x8 lane operation.
On some server motherboards, choice of PCIe slot is important. This is because some slots (including
slots that are physically x8 or x16 lanes) may only electrically support x4 lanes. In x4 lane slots,
Solarflare PCIe adapters will continue to operate, but not at full speed. The Solarflare driver will warn
if it detects the adapter is plugged into a PCIe slot which electrically has fewer than x8 lanes.
Adapters which require a PCIe Gen 2 or Gen 3 slot for optimal operation will issue a warning if they
are installed in a PCIe Gen 1 slot. Warning messages can be viewed in
dmesg
from
/var/log/
messages
.