Rmp-eval 0.0.4: AF_XDP and Linux 6.17 futex checks

rmp-eval 0.0.4 is available. rmp-eval is the utility we provide for evaluating whether a Linux PC is suitable for running the RMP EtherCAT Motion Controller. This release adds two new configuration checks.

AF_XDP support check

RMP 11.0.3 adds AF_XDP support for the EtherCAT network path. AF_XDP delivers frames to user space with lower overhead than the standard kernel network stack, and on drivers that support it the path can be fully zero-copy.

rmp-eval 0.0.4 verifies two prerequisites:

  • CONFIG_XDP_SOCKETS=y is set in the running kernel.

  • The selected NIC driver is likely to support AF_XDP zero-copy.

Run sudo rmp-eval --only-config to confirm a candidate system is ready for the 11.0.3 networking path before committing to the hardware.

Linux 6.17 futex private hash check

Prior to kernel 6.17, all processes on a Linux system shared a single global futex hash table. Because futexes back user-space synchronization primitives such as mutexes and condition variables, unrelated workloads running on the same machine — databases, build servers, logging daemons — can cause contention on that shared table. That contention is observable as occasional jitter on an isolated RT core, even on systems that are otherwise correctly configured.

Kernel 6.17 introduced per-process private futex hash tables. RMP’s futex traffic is then isolated to its own process, reducing exposure to contention caused by unrelated workloads on the same host.

Adopting this change requires only a kernel update to a 6.17-series PREEMPT_RT kernel. No RMP configuration or code changes are needed. 6.18 LTS too.

rmp-eval 0.0.4 reports the running kernel version and whether the private hash feature is available and active for the RMP process, so the improvement can be verified during hardware evaluation.

Download

Pre-built .deb packages for amd64 and arm64 are available on the 0.0.4 release page:


sudo dpkg -i rmp-eval_0.0.4_amd64.deb

sudo rmp-eval --only-config

We recommend running rmp-eval 0.0.4 when evaluating new hardware for RMP, or when re-qualifying an existing deployment against RMP 11.0.3.