予想どおり1か月前にFUTEX2パッチがロック/コアでキューに入れられたときに最初に報告した後、Linux上のWindowsゲーム体験を支援するための新しいsys_futex_waitv()システムコールでのこの作業は、実際にLinux5.16に到達します。
FUTEX2の作業は長い間行われており、Linux 5.16の着陸が主要な部分です。つまり、複数のfutexで待機できるsys_futex_waitvシステムコールです。これは、WineやProton(Steam Play)などで、MicrosoftWindowsのWaitForMultipleObjects機能の動作とのマッチングを向上させるのに非常に役立ちます。パッチがWine/Protonにリリースされたときに、Linux 5.16以降でこの新しいシステムコールを利用すると、パフォーマンスの可能性が高まります。ネイティブLinuxゲームは、パフォーマンス/効率の利点のために、このシステムコールを直接またはラッパーを介して利用することもできます(たとえば、glibcパッチがフロートされています)。パフォーマンス上の利点は、数パーセントの球場にある可能性があります。
FUTEX2には元々、可変サイズのfutex、NUMA認識、およびその他の改善が組み込まれる予定でした。しかし、その作業は今のところ押し戻され、Linuxゲームの利点のためにsys_futex_waitvをマージするだけであり、他の改善は準備ができたら後で行うことができます。
この新しいコードは、本日、この最初の日に
ツリー外の