사용자 공간에서 읽고 쓸 필요가있는 PCI 장치가 있습니다. 제로 복사를 사용하려고합니다. 할당하고, 핀을 할당하고, 사용자 공간 주소의 물리적 주소를 사용자 공간 내에서 완전히 가져 오는 방법이 있을까요? 아니면 virt_to_phys 또는 get_user_pages를 호출하는 커널 모듈이 필요합니까? 장치의 메모리는 MMIO를 통해 사용자 공간 메모리에 매핑되므로 필요한 모든 데이터를 전달할 수 있습니다. 감사.Linux Zero Copy
2
A
답변
1
총 해킹 이었지만 Linux를 메모리 범위로 제한하고 커널이 인식하지 못한 장치에 MMIO를 사용하여 메모리를 할당했습니다.
0
기본적으로 DMA를 사용할 수있는 메모리가 필요하며 커널 모듈 만이 할 수 있습니다. http://lxr.free-electrons.com/source/Documentation/PCI/PCI-DMA-mapping.txt
을 참조하십시오.관련 문제
- 1. 용어 : "zero copy"와 반대입니까?
- 2. Linux Zero-Copy : vmsplice를 사용하여 두 프로세스간에 메모리 페이지를 전송하십시오.
- 3. zero copy mechanism 및 libpcap
- 4. 효율적인 리눅스 소켓 (DMA/zero-copy)
- 5. CUDA의 GPU 장치와 제로 (zero copy) 고정 된 메모리를 사용합니다.
- 6. Windows OS에 Zero-copy가 있습니까?
- 7. copy/a와 copy/b의 차이점
- 8. const char * 배열에서 C++로 zero-copy std :: string 할당을 할 수 있습니까?
- 9. C++ Functors and Zero
- 10. C# MainWindowHandle always zero
- 11. Zero-crossing Sign 함수
- 12. divide-zero 오류
- 13. WSAGetLastError returns zero
- 14. Sharepoint zero touch deployment
- 15. zero size struct
- 16. Regex (leading zero)
- 17. DataTable Copy
- 18. Android AES 암호화 Zero Padding
- 19. Perl FTP zero size 파일
- 20. Javascript Leading Zero Function Argument
- 21. NHibernate - LazyLoad one-to-zero
- 22. Adobe HTML (JavaScript) : 단계 ZERO
- 23. 위치 표시 줄 URL (jquery)의 copy copy + paste 이벤트
- 24. 내 자신의 copy() 함수가 std :: copy()와 충돌합니다.
- 25. C++ shallow/deep copy?
- 26. copy() and ImageMagick
- 27. Python float copy 질문
- 28. Outlook Interop Copy MailItem
- 29. COPY FROM with postgresql의
- 30. visual studio copy local