EF_PIO

Onload User Guide (UG1586)

Document ID
UG1586
Release Date
2023-07-31
Revision
1.2 English
Name
pio
Default
1
Minimum
0
Maximum
2
Scope
per-stack

Control of whether Programmed I/O is used instead of DMA for small packets:

  • 0 - no (use DMA)
  • 1 - use PIO for small packets if available (default)

    Mode 1 will fall back to DMA if PIO is not currently available.

  • 2 - use PIO for small packets and fail if PIO is not available.

    Mode 2 will fail to create the stack if the hardware supports PIO but PIO is not currently available.

On hardware that does not support PIO there is no difference between mode 1 and mode 2.

In all cases, PIO will only be used for small packets (see EF_PIO_THRESHOLD) and if the VI's transmit queue is currently empty. If these conditions are not met DMA will be used, even in mode 2.

Note: PIO is currently only available on x86_64 systems.
Note: Mode 2 will not prevent a stack from operating without PIO in the event that PIO allocation is originally successful but then fails after an adapter is rebooted or hotplugged while that stack exists.