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 エンジニアブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/f0c5296e0c501223b9c9f240284416af401735de/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fv%2Fvalinux%2F20220127%2F20220127131835.png)