커널 리소스의 '현재 잠금 소유자'가 현재 CPU 인 경우 인쇄가 시작됩니다. 나는이 조건으로 이끌 수있는 것이 무엇인지 모른다. 인터넷에서 그다지 찾을 수 없었습니다. 누구든지 이것을 디버깅 했습니까?커널 커널에서 "가상 장치의 데드 루프"라는 인쇄가 표시되는 데드 루프가 발생할 수있는 원인은 무엇입니까?
0
A
답변
0
네, 알았습니다.
이는 일반적으로 Linux 커널의 단일 실행 컨텍스트 (예 : softIRQ의 단일 인스턴스)에서 동일한 커널 리소스를 참조하여 동일한 기능을 두 번 입력하면 발생합니다. 이 방법은 같은 실행 컨텍스트에서 함수를 두 번 다시 입력하지 않도록하는 것입니다. 이런 일이 발생하면 코드에 버그가 있습니다.
0
디버그? 너 where in the source을 알 필요가 있다는 것을 의미합니까?
2
가능한 교착 상태를 유발하는 진단 메시지입니다.
이 특별한 경우 스핀 록으로 보호되는 전송 대기열이 있습니다. 이 잠금과 함께 전송 대기열은이 스핀 록이 보관 될 때 설정된 CPUID를 포함하는 "소유자"필드도 유지합니다.
요청한 잠금이 이미 수행 된 경우 스핀 록이 CPU에서 항상 회전합니다.
그래서 at this location 코드는 cpu가 스핀 록을 잠근 동일한 CPU인지 확인합니다.
동일한 CPU에 있지 않으면 잠금이 필요한 작업을 수행합니다.
다른 CPU가 동일한 CPU 인 경우, 즉 뭔가가 올바르지 않습니다. 즉 실제로 잠금 대기 중일 것입니다. 아마도 우리는 잘못된 인터럽트 핸들러/하반부로 인해 여기에 왔을 것입니다.
잠재적 인 교착 상태를 나타 내기 때문에 진단 메시지가 인쇄됩니다. :).
관련 문제
- 1. Pylons + uWSGI + Cherokee에서 리디렉션 루프가 발생할 수있는 원인은 무엇입니까?
- 2. 조이스틱 데드 존 계산
- 3. 데드 코드 경고
- 4. 자바에서 데드 코드를 제거하는 방법
- 5. 내 간단한 데드 코드 리무버
- 6. C#의 데드 코드 감지
- 7. 데드 링크 검사를위한 모범 사례
- 8. xmlrpclib.ResponseError : ResponseError()가 발생할 수있는 원인은 무엇입니까?
- 9. 키보드의 ToAscii/ToUnicode가 데드 키를 제거합니다
- 10. 안드로이드에서 스크롤링에 저항/관성/데드 존 추가하기
- 11. 레거시 C/C++ 프로젝트에서의 데드 코드 감지
- 12. boost.thread 데드 록 및 자기 삭제
- 13. Mac 개발시 데드 트리 정기 간행물?
- 14. C++/sqlite 래퍼로 데드 -이지 클래스 직렬화?
- 15. 응용 프로그램에서 데드 코드를 제거하는 가장 좋은 방법은 무엇입니까?
- 16. CUDA 커널에서 가상 함수 사용
- 17. 데드 레터 대기열과 백 아웃 대기열의 차이점은 무엇입니까?
- 18. Firefox에서이 CSS 여백 공유 (?) 버그가 발생할 수있는 원인은 무엇입니까?
- 19. 설치 중에 예기치 않은 재부팅이 발생할 수있는 원인은 무엇입니까?
- 20. 아이폰 OS3.0에서 iOS4.0으로의 동작에서 이러한 차이가 발생할 수있는 원인은 무엇입니까?
- 21. WCF에서 이상한 소켓 예외가 발생할 수있는 원인은 무엇입니까?
- 22. 이 SimpleDateFormat 형식 오류가 발생할 수있는 원인은 무엇입니까?
- 23. 커널에서 가상 메모리를 사용할 수 있습니까? Linux에서
- 24. 데드 스팟을 만들지 않고 Google지도 위에 PNG를 표시 하시겠습니까?
- 25. 2.6 커널 커널에서 프로파일 링 잠금
- 26. Linux 커널에서 inode 가져 오기 커널
- 27. 플릭커/데드 레인지가 MFC 창 최대화 문제를 야기 함
- 28. 데드 키 지원을 깨지 않고 ToUnicode를 어떻게 사용할 수 있습니까?
- 29. JQuery와의 클릭 가능한 영역 내에서 데드 존을 만들기
- 30. 데드 레터 큐에서 보내는 큐로 메시지 이동 MSMQ
감사합니다. 그러나 나는 이미 그것을 'grep'ed했다. 나는이 상황을 초래할 최후의 사태에 대한 이유를 찾고있었습니다. 궁극적으로 그것을 파악할 수있었습니다. – Harty