1. はじめに 2. 調査対象の環境 3. ユーザ空間ドライバとカーネル空間ドライバ 4. PCIデバイスの復習 5. PCI コンフィグレーション空間からの読み出し 6. PCI I/O空間の読み書き 7. PCI メモリ空間の読み書き 8. 割り込みの取り扱い 9. 今回取り上げなかったこと 10. まとめ 執筆者 : 岡部 究 1. はじめに DPDKを触っていると気になることがありませんか。 「カーネルのEthernetドライバの代わりにユーザ空間でEthernetドライバを作っている、とあるが実際のPCIデバイスにどうやってユーザ空間からアクセスしているのだろうか?」 本記事ではDPDKのソースコードを読み解くことで、上記の疑問を(部分的ながら)解決します。 2. 調査対象の環境 Debian GNU/Linux 11.6 DPDK 22.11.0 3. ユーザ空間ドライバとカー
![DPDKのソースコードから読み解くユーザ空間ドライバとPCIデバイスの関係 - VA Linux エンジニアブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/72fa09410e11b0ea0572cf20eede218123bd7741/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fv%2Fvalinux%2F20230320%2F20230320102759.png)