netmap / LINUX realtime / ixgbevf: huge RX latencies

Joe Buehler aspam at cox.net
Thu Nov 30 21:03:18 UTC 2017


I am using the LINUX 4.4.86 realtime kernel patch with netmap and the
ixgbevf driver (SRIOV in a VM) and having some serious RX latency issues.

The ixbgevf driver built by the netmap build against the kernel source
does not work.  I haven't tried to debug it -- the netmap driver
complains about bad ring index values and resets (over and over again as
my app runs).

The non-netmap version of ixgbevf that comes with the kernel works but
appears to have serious RX latency issues due to frame batching.  It
appears that the kernel's NAPI polling reads frames from the NIC, then
netmap processes the frames, then epoll exits and my app can work on the
frames.  The delay between start of NAPI to my app getting frames can be
milliseconds!!!

Would the netmap-modified ixgbevf driver eliminate this latency?

If so, any ideas on what might be going wrong with the modified driver?
 Perhaps an older version of the driver might be better?  The kernel
ixgbevf version is 2.12.1-k while netmap is trying to use 4.2.1.
Looking at the RT patch for LINUX there are only a few network driver
patches, none for the ixgbe* cards.

Joe Buehler



More information about the freebsd-net mailing list