TRACE 32만을 이용한 출력 Callstack 의 cpu 번호 파악
62
작성자 없음
0 asked
안녕하세요. Linux kernel 강의를 듣고 있는 수강생입니다
제가 Crash utility 를 이용해서 쉽게 해당 dump 의 최종 프로세스의 cpu 번호는 알 수 있는데,
만약 현장에서 Crash Utility 설치가 불가피해서 사용을 못하고(시간상이나 알수 없는 원인으로 설치가 안될때)
오직 TRACE 32 만으로 SMP(멀티코어) 시스템의 DUMP 발생 원인이 된 프로세스의 CPU 번호를 파악하고 싶을때는 어떤 방법을 이용할 수 있을지 궁금합니다.
예를들어 아래와 같이

상황에서 해당 Soft IRQ 를 발생시킨 CPU 번호를 오로지 TRACE 32 를 이용해서 찾아야 한다고 했을때 , 어떻게 해야하는지 궁금합니다
사실 교수님께서 설명하셨던것 같은데, 기억이 잘 안나서요. 죄송합니다....
감사합니다.
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. 염재영님.
TRACE32만을 사용하여 SMP(멀티코어) 시스템에서 덤프 발생 원인이 된 프로세스의 CPU 번호를 파악하는 방법에 대해 답변 드리겠습니다. 우선, TRACE32는 매우 강력한 디버깅 도구로, 여러 가지 시스템 레벨의 값을 추적할 수 있는 기능을 제공합니다.
TRACE32를 사용한 CPU 번호 파악 방법
프로세스 구조체 확인하기:
- 커널에는 각 CPU에 대해 정보가 저장되는 자료구조가 있습니다. TRACE32를 사용하여 이 자료구조에서 현재 실행 중인 CPU 번호를 가져올 수 있습니다. 예를 들어,
current_task구조체를 확인하면 해당 CPU에서 현재 실행 중인 프로세스를 파악할 수 있습니다.
- 커널에는 각 CPU에 대해 정보가 저장되는 자료구조가 있습니다. TRACE32를 사용하여 이 자료구조에서 현재 실행 중인 CPU 번호를 가져올 수 있습니다. 예를 들어,
레지스터 값 읽기:
- 특정 레지스터를 읽어 현재 실행 중인 CPU를 식별할 수 있습니다. 많은 시스템에서 CPU ID는 특정 레지스터에 저장되며, TRACE32 명령어를 통해 이를 읽어올 수 있습니다.
- 특정 레지스터를 읽어 현재 실행 중인 CPU를 식별할 수 있습니다. 많은 시스템에서 CPU ID는 특정 레지스터에 저장되며, TRACE32 명령어를 통해 이를 읽어올 수 있습니다.
SMP 관련 정보 확인:
SMP시스템에서는 각 코어에 할당된 태스크가 다르므로, TRACE32의TASK.INFO명령어 등을 활용하여 각 CPU의 태스크 정보를 확인해보세요.
추가 참고 링크
이와 관련하여 이전에 비슷한 질문이 있었던 게시물들을 통해 더 자세한 정보를 얻으실 수 있습니다:
염재영님의 이해를 돕기 위해 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.
0
14
1
REST API (Self-descriptive messages)
0
22
1
프로젝트 질문 문의
0
46
1
시스템 엔지니어 관련 질문입니다.
0
50
2
SP와 SP_ELn의 관계
0
25
1
Unauthorized 에러
0
42
2
inotify 객체에 등록된 watch descriptor 해제 관련 질문
0
37
2
select API 실습 코드 질문
0
40
2
stm32cubeide 관련 문의
0
46
2
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
0
57
2
여러 의문점
1
63
1
72강의 DNS개념(수업자료)에 자료가 없어서 문의 드립니다.
1
55
2
오버라이딩 관련하여 질문드립니다.
0
61
2
CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.
1
57
2
CPU Bound Process와 sleep, yield에 대해
1
60
1
권한 기본값 질문
0
54
2
5장 Armv7 동작모드와 6장 Armv8 익셉션 레벨 차이
0
40
2
Critical Section과 SRWlock의 차이
0
98
2
openclaw 실행 실패
0
561
1
STM32 포팅할 때 STM32 Project가 없음
0
148
2
교재 있나요? 서브 노트 있나요?
0
60
1
FreeRTOS 멀티코어 지원안됨?
0
83
2
59회차 학습 미작동
0
66
2
섹션4 에 0강 으로 표시되네요.
0
153
1

