[질문]pci_map_sg 함수에서의 증상에 대한 질문입니다.
글쓴이: nadakwon / 작성시간: 화, 2007/09/18 - 3:02오후
안녕하십니까...
고수님들께 질문이 있습니다.
지금 제가 pci 디바이스를 리눅스에 올리고 있는 중입니다.
기존에 x86_64 에서 잘 돌아가는 소스를 ia64용으로 변경하려는데 pci_map_sg() 라는 함수에서
Debug: sleeping function called from invalid context at include/linux/rwsem.h:43
in_atomic():0, irqs_disabled():1
이러한 메세지가 나타납니다. pci_map_sg 함수가 시스템의 dma 관련된 함수라고 합니다.
dma mapping 함수인데, 왜 dma-mapping 가 되었다가 안되었다가 하는지 알고 싶습니다.
pci_map_sg() 함수를 실행하고, dma 를 사용한 후에 pci_unmap_sg() 함수를 이용해서 dma mapping을
해제 합니다.
제가 좀 두서없이 질문을 올린거 같아서 죄송하긴 하지만..
답변 부탁드리겠습니다.
언제나 고운 하루 보내세요~~ 감사합니다.
Forums:
interrupt context 내에서
interrupt context 내에서 schedule 관련 콜을 했을 때 보여주는 전형적인 "경고" 메시지입니다.
mutex/semaphore lock 을 시도 하신게로군요.
어디선가, 누군가가 먼저 lock 을 했다면 wait 로 진행될 테고, wait 가 schedule 콜로 구현되어 있습니다.
아무도 lock 을 하지 않았다면, wait 없이 그대로 진행되겠지요.
OTL
댓글 달기