묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결리눅스 커널의 구조와 원리: 인터럽트 [저자 직강 1부-5]
TRACE32 관련 문의 내용
안녕하세요. 이번 1부- 5강 인터럽트 강의를 듣고 있는 학생입니다. 해당 강의를 들으면서 6. bcmgenet_isr_0 인터럽트 핸들러 디버깅-TRACE32 (Part.1) 를 수강하면서 2-irq-dump 덤프 강의자료로 실습을 진행하는데 TRACE32 의 콜스택이 깨진건지 첨부한 사진과 같이 나옵니다. 처음에는 스택 관련 이슈로 인해서 깨졌다고 생각해서 Crash utility 의 bt -s 명령어 및 log -m 의 출력된 콜스택과 레지스터 셋 정보를 이용해 이전 강의에 들었던 스택 복구를 시도해보았습니다. 하지만 전부 다 콜스택 복구가 안되는것을 확인하여 이것이 어떤 문제인지 궁금해서 질문드립니다. [해당 2-irq-dump를 Load-Dump - Dump1 으로 불러오면 나오는 화면][불러올때 아래에 뜨는 에러메세지]말씀드린 것처럼 Crash utility는 정상동작하며, TRACE 32 만 위와 같이 콜스택이 전부 깨져서 나옵니다.아래는 해당 프로그램을 실행하는 작업환경입니다.Host OS : Window 11감사합니다.
-
미해결리눅스 커널의 구조와 원리: 인터럽트 [저자 직강 1부-5]
강의안 자료는 따로 제공이 안 되나요?
안녕하세요1부-4,5,6 강의가 전부다 강의안 제공이 안 되고 있는데추후 업로드 예정이신지 질문 드립니다.(혹시 1부-1 강의도 강의안 업로드 예정이 있나요?)
-
미해결리눅스 커널의 구조와 원리: 인터럽트 [저자 직강 1부-5]
preemption 체크 관련 질문
커널 코드 실행 중 인터럽트가 발생한 경우에는 thread_info 구조체의 preemption_count 값을 통해 preemptive schedule 가능 여부를 판단하고, 유저 코드 실행 중에 발생한 경우에는 flags 값을 통해 preemptive schedule 가능 여부를 판단하는 것을 이해했는데, 둘이 왜 확인 방법이 다른지 궁금합니다
-
미해결리눅스 커널의 구조와 원리: 인터럽트 [저자 직강 1부-5]
인터럽트 처리 순서
Big Picture 사진을 보면 인터럽트 발생시 GIC에서 우선적으로 처리한 후 익셉션 핸들러가 실행되는 걸로 나와있는데,인터럽트 처리 콜스택을 보면 익셉션 핸들러가 먼저 실행되고 gic 관련 핸들러 함수가 호출되는 것 같습니다. 둘이 순서가 왜 다른지 궁금합니다!