タグ

ブックマーク / valinux.hatenablog.com (2)

  • 詳解 Linux ネットワーク - NAPI 編 (後編) - VA Linux エンジニアブログ

    1. はじめに 2. Busy Poll Socket 2.1 概要 2.2 使い方 2.3 内部実装 3. kthread NAPI polling 3.1 概要 3.2 使い方 3.3 内部実装 4. まとめ 執筆者 : 西村 大助 1. はじめに 前編では、NAPI とそれに関連するソフトウェア割り込みの仕組みについて解説しました。 稿では、前回の最後に触れた通り、Linux kernel に組み込まれている、NIC をソフトウェア割り込み以外で polling するための仕組みである、Busy Poll Socket と kthread NAPI polling について解説します。 2. Busy Poll Socket 2.1 概要 使用する socket に setsockopt(2) システムコールを使い、@optname=SO_BUSY_POLL で時間(μ秒単位。以降

    詳解 Linux ネットワーク - NAPI 編 (後編) - VA Linux エンジニアブログ
  • 詳解 Linux ネットワーク - NAPI 編 (前編) - VA Linux エンジニアブログ

    1. はじめに 2. Linux カーネルのおさらい 2.1 実行コンテキスト 2.2 ソフトウェア割り込み 3. NAPI とは 3.1 概要 3.2 関連データ構造 3.3 処理の流れ 4. NAPI の問題点 5. 参考資料 執筆者 : 西村 大助 1. はじめに 稿では、Linux におけるネットワーク受信処理で利用されている、NAPI(New API)と呼ばれる仕組みについて、実装レベルで解説したいと思います。 2. Linux カーネルのおさらい NAPI について解説する前に、前提として Linux カーネルについていくつかおさらいします。 2.1 実行コンテキスト Linux には実行コンテキストとして、大きく以下の2つのコンテキストがあります1。 プロセスコンテキスト プロセス(稿では、ユーザプロセスだけでなく、カーネルスレッドも含むものとします)を実行するコンテキス

    詳解 Linux ネットワーク - NAPI 編 (前編) - VA Linux エンジニアブログ
  • 1