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. ユーザ空間ドライバとカー