Connecting Intel Alder Lake Systems Via USB4/Thunderbolt Can Be Faster Come Linux 5.19
A feature of Thunderbolt seemingly not widely leveraged is allowing two distinct hosts/systems to be connected over a Thunderbolt cable that can then be used for tunneling arbitrary data packets using high-speed DMA rings. Should you find yourself using such a setup, starting with Linux 5.19+ it should open the door for being much faster when running on latest-generation Intel hardware for USB4/Thunderbolt.
For years Linux has supported Intel Thunderbolt XDomain discovery and the necessary components for handling the connection of multiple hosts/domains via Thunderbolt. Linux also has a virtual Ethernet interface that can work with Thunderbolt XDomain for tunneling network packets over the Thunderbolt (or now, USB4) cable. Thunderbolt XDomain is extensible and can be used for a variety of other purposes. This capability remains present with USB4 via the Inter-Domain Service protocol.
USB4 Inter-Domain Service specification allows for lane bonding between two USB4 domains/hosts. Linux though hasn't implemented the lane bonding aspect until now due to host controller DMA limitations that it wouldn't yield any benefit. But now with Intel Alder Lake systems where the DMA can support greater than 20 GBits/s connectivity, it makes sense for Intel to add this cross-domain lane bonding support to the Thunderbolt/USB4 driver code.
The patches by Intel's Mika Westerberg add XDomain lane bonding and enables it assuming both systems/domains can handle it and where using the software connection manager. After being on the kernel mailing list undergoing review, the XDomain lane bonding work has queued into the Thunderbolt subsystem's "next" branch, with that just happening it still should be in time for this feature to appear in Linux 5.19.
For years Linux has supported Intel Thunderbolt XDomain discovery and the necessary components for handling the connection of multiple hosts/domains via Thunderbolt. Linux also has a virtual Ethernet interface that can work with Thunderbolt XDomain for tunneling network packets over the Thunderbolt (or now, USB4) cable. Thunderbolt XDomain is extensible and can be used for a variety of other purposes. This capability remains present with USB4 via the Inter-Domain Service protocol.
USB4 Inter-Domain Service specification allows for lane bonding between two USB4 domains/hosts. Linux though hasn't implemented the lane bonding aspect until now due to host controller DMA limitations that it wouldn't yield any benefit. But now with Intel Alder Lake systems where the DMA can support greater than 20 GBits/s connectivity, it makes sense for Intel to add this cross-domain lane bonding support to the Thunderbolt/USB4 driver code.
The patches by Intel's Mika Westerberg add XDomain lane bonding and enables it assuming both systems/domains can handle it and where using the software connection manager. After being on the kernel mailing list undergoing review, the XDomain lane bonding work has queued into the Thunderbolt subsystem's "next" branch, with that just happening it still should be in time for this feature to appear in Linux 5.19.
7 Comments