USB4STREAM Adding Busy Poll Option For Lower Latency At The Cost Of Increased CPU Cycles

Intel engineers developed the USB4STREAM protocol as a super simple way for transferring raw packets between hosts using USB4/Thunderbolt. Intel Thunderbolt expert Mika Westerberg with the assistance of Claude Opus 4.8 has devised a means of busy polling for USB4STREAM to provide lower latency transfers. The queued patch explains:
"Using interrupts and scheduling workers increase latency so latency critical applications may want to avoid that. Make this possible in USB4STREAM by adding a new ConfigFS attribute: busy_poll that, when activated switches the rings to polling mode. The cost for lower latency is that this burns more CPU cycles and things like poll(2) cannot be used."
This busy poll mode for USB4STREAM with Linux 7.3+ can be toggled via the /sys/kernel/config/thunderbolt/stream/[xdomain].[service]/$name/busy_poll interface.
The patch is currently in thunderbolt.git's next branch ahead of the upcoming Linux 7.3 merge window.
Add A Comment
