Linuxカーネルでは2020年3月の「Linux 5.6」からUSB4をサポートしてきたが、現在開発中の「Linux 6.0」の次のバージョンであるLinux 6.1ではさらにそのサポートが拡張されることになりそうだ。8月31日、Intel所属のMika Westerbergが書いたThunderbolt/USB4ネットワーキングに関連したパッチがカーネルメンテナーのDavid S. Millerによってコミットされ、USB4がサポートするエンドツーエンドなフロー制御がLinuxカーネルでも本格的に実装されることになる。
- Netdev Group's -next networking tree -Merge branch 'thunderbolt-end-to-end-flow-control' -git.kernel.org
USB4のトランスポートレイヤでは、クレジットベースのフロー制御メカニズムが実装されており、受信側に十分なハードウェアバッファが用意されていない場合にパケットがオーバーフローしないように設定することができるが、今回のパッチにより、Linux 6.1以降にこの機能が追加されることになる。また、ネットワーキングプロトコルを従来の「ThunderboltIP」から「USB4NET」に書き換える変更も行われる。
Westerbergによれば、LinuxカーネルでThunderbolt/USB4をサポートした初期の段階から、Thunderbolt第2世代の「Intel Falcon Ridge」がうまく動作しないというバグがあり、Intelエンジニアがこれを動作させるためのquirkを用意していたが、これまではとくに必要ないとされていたため、取り込まれていなかった。今回のドライバのアップデートにともない、あらためてNHIコントローラのquirkとして追加される予定だ。
USB4はもともとIntelとAppleが主導した規格である「Thunderbolt3」をベースにしていることから、カーネル開発においてもWesterbergをはじめとするIntelのエンジニアが継続的にメンテナンスを行っており、Linux 6.0/6.1以降もさまざまなアップデートが行われていく予定だ。