私は 2 つのスレッドを持つアプリケーションを持っています。ヒープ領域グローバル変数) いくつかの操作を行うために、スレッド 2 の CPU アフィニティをコア 7 に設定します。コア 1 とコア 7 がハイパースレッディングを使用して同じコアにあるとします。 L1 キャッシュを使用できます。
/proc/interrupt を見たところ、eth1 には複数の CPU コアで割り込みがあることがわかりました。私の場合、CPU アフィニティをスレッド 1 のコア 1 に設定しましたが
、多くのコアで割り込みが発生しました。パフォーマンスに影響しますか? eth1 から受け取ったパッケージは、どのコアに割り込みがあるかに関係なく、メイン メモリに直接移動しますか?
私は Linux カーネルのネットワークについてあまり知りません。本や Web サイトを提案してくれる人は、このトピックについて私を助けることができますか? コメントありがとうございます~~
編集:「すべてのプログラマーがメモリについて知っておくべきこと」6.3.5「ダイレクトキャッシュアクセス」によると、「DCA」は私が知りたい方法だと思います...