約 1 か月後に開始される Linux 6.5 サイクルに先立って、データ ブロックの 32 ビット チェックサムを計算するためにカーネル内で使用される関数 csum_partial をさらに調整するための新しい Linux x86 最適化パッチが待機しています。最新の Intel/AMD プロセッサ上で新しく最適化された csum_partial を使用すると、レイテンシーが大幅に短縮され、スループットが向上することがわかります。
csum_partial 関数は、チェックサムの目的で、ネットワークからファイル システムに至るまでカーネル全体で使用されます。新しいパッチは現在、tip/tip.git のキューに入れられており、x86/x86_64 csum_partial 実装のパフォーマンスが向上しています。開発者の Noah Goldstein 氏はパッチで次のように述べています:
x86/csum: `csum_partial` のパフォーマンスを向上
1) len==40 が最もホットな値であるため、特別なケースを追加します。 len==40 の場合、レイテンシーが約 8 ~ 9% 向上し、スループットが約 30% 向上します。
2) 64 バイトのループで複数のアキュムレータを使用します。これにより、ILP が劇的に改善され、レイテンシー/スループットが最大 40% 向上します (反復回数が増えるとより効果的です)。
パッチは、Linux 6.5 のマージ ウィンドウが始まるまで、TIP の x86/misc ブランチのキューに入れられます。 Linux カーネルに対する終わりのないパフォーマンスの最適化を見るのはいつも楽しいことです。