ユーザー空間から読み書きする必要があるPCIデバイスがあります。私はゼロコピーを使用しようとしています。ユーザー空間のアドレスの物理アドレスをユーザー空間内に完全に割り振り、固定したり取得したりする方法はありますか?たとえば、virt_to_physやget_user_pagesを呼び出すカーネルモジュールを用意する必要がありますか?デバイスのメモリは、MMIOを介してユーザー空間のメモリにマップされるので、必要なデータはすべて渡すことができます。ありがとう。Linuxゼロコピー
2
A
答えて
1
これはトータルのハックでしたが、私はLinuxをメモリの範囲に制限し、カーネルが認識していなかったデバイスにメモリを割り当てるためにMMIOを使いました。
0
基本的には、メモリをDMA可能にする必要があります。私が知る限り、カーネルモジュールだけがそれを行うことができます。 http://lxr.free-electrons.com/source/Documentation/PCI/PCI-DMA-mapping.txt
関連する問題
- 1. Linuxゼロコピー:vmspliceで2つのプロセス間でメモリページを転送する
- 2. ゼロコピー受信とメッセージサイズ
- 3. デフォルトのlinux TCP/IPスタックでTCP send/recvにゼロコピーを使用できますか?
- 4. ゼロコピーでGraphicBufferにAndroidメモリをマップする
- 5. OpenGL ES 3.0:テクスチャへのゼロコピーCPUレンダリング?
- 6. WebSocket頻繁にメッセージをゼロコピーする
- 7. OpenCLを使用してゼロコピーでLinuxのフレームバッファに直接書き込む方法は?
- 8. .NETでゼロコピーを実行する方法はありますか?
- 9. 統合GPUにゼロコピー構造体を割り当てる
- 10. PythonはゼロコピーI/Oをサポートしていますか?
- 11. Linuxシステム上のLinuxシステム
- 12. は、LinuxターミナルでのLinux
- 13. Linux。
- 14. LinuxからのC++関数のエクスポート/インポートダイナミックライブラリ/ Linuxコンソールアプリケーション| Visual Studio Linux Project
- 15. Linux/MIPSおよびLinux/PowerPCのScala
- 16. どのLinux OSにLinuxカーネル2.6.32
- 17. Linuxデバイスドライバ3コードのコンパイルエラーとLinuxヘッダーファイル
- 18. LinuxからLinux GUIへのリモート
- 19. Linuxカーネルテキストシンボル
- 20. Linuxバッチリネームファイル
- 21. は、Linux
- 22. Linuxファイルディスクリプタログ
- 23. のLinux:
- 24. のLinux
- 25. のlinux
- 26. は、Linux
- 27. Linuxカーネルモジュール
- 28. のlinux
- 29. Linuxは
- 30. Linuxエポックタイム