8.9. アクセラレート RFS

アクセラレート RFS は、ハードウェアアシスタンスを追加することで RFS の速度を速めます。RFS のように、パケットはパケットを消費するアプリケーションの位置に基づいて転送されます。ただし、従来の RFS とは異なり、パケットはデータを消費するスレッドにローカルな CPU に直接送信されます。これは、アプリケーションを実行している CPU か、キャッシュ階層にあるその CPU にローカルな CPU のどちらかになります。
アクセラレート RFS は、以下の条件が満たされた場合にのみ、利用可能になります。
  • アクセラレート RFS がネットワークインターフェイスカードでサポートされていること。アクセラレート RFS は、ndo_rx_flow_steer() netdevice 機能をエクスポートするカードでサポートされています。
  • ntuple フィルタリングが有効になっていること。
これらの条件が満たされると、キューマッピングへの CPU が従来の RFS 設定に基づいて自動的に取り除かれます。つまり、各受信キューのドライバーによって設定される IRQ アフィニティーに基づいて、キューマッピングへの CPU が取り除かれます。従来の RFS 設定に関する詳細は、「Receive Flow Steering (RFS)」 を参照してください。
Red Hat では、RFSの使用が適していて、ネットワークインターフェイスカードがハードウェアアクセラレートをサポートしている場合は常に、アクセラレート RFS の使用を推奨しています。