inflearn logo
강의

講義

知識共有

Linuxカーネルの構造と原理:割り込み後半部 [著者直講 第1部-6]

[3番目のダンプ.2] Softirqサービスの実行:データ構造の詳細分析(TRACE32、Crash-Utility)

TRACE 32만을 이용한 출력 Callstack 의 cpu 번호 파악

141

작성자 없음

0

안녕하세요. Linux kernel 강의를 듣고 있는 수강생입니다

제가 Crash utility 를 이용해서 쉽게 해당 dump 의 최종 프로세스의 cpu 번호는 알 수 있는데,

만약 현장에서 Crash Utility 설치가 불가피해서 사용을 못하고(시간상이나 알수 없는 원인으로 설치가 안될때)

오직 TRACE 32 만으로 SMP(멀티코어) 시스템의 DUMP 발생 원인이 된 프로세스의 CPU 번호를 파악하고 싶을때는 어떤 방법을 이용할 수 있을지 궁금합니다.

예를들어 아래와 같이

image.png


상황에서 해당 Soft IRQ 를 발생시킨 CPU 번호를 오로지 TRACE 32 를 이용해서 찾아야 한다고 했을때 , 어떻게 해야하는지 궁금합니다

사실 교수님께서 설명하셨던것 같은데, 기억이 잘 안나서요. 죄송합니다....

 

감사합니다.

linux 운영체제 arm-architecture linux-kernel interrupt

回答 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 염재영님.

TRACE32만을 사용하여 SMP(멀티코어) 시스템에서 덤프 발생 원인이 된 프로세스의 CPU 번호를 파악하는 방법에 대해 답변 드리겠습니다. 우선, TRACE32는 매우 강력한 디버깅 도구로, 여러 가지 시스템 레벨의 값을 추적할 수 있는 기능을 제공합니다.

TRACE32를 사용한 CPU 번호 파악 방법

  1. 프로세스 구조체 확인하기:

    • 커널에는 각 CPU에 대해 정보가 저장되는 자료구조가 있습니다. TRACE32를 사용하여 이 자료구조에서 현재 실행 중인 CPU 번호를 가져올 수 있습니다. 예를 들어, current_task 구조체를 확인하면 해당 CPU에서 현재 실행 중인 프로세스를 파악할 수 있습니다.
  2. 레지스터 값 읽기:

    • 특정 레지스터를 읽어 현재 실행 중인 CPU를 식별할 수 있습니다. 많은 시스템에서 CPU ID는 특정 레지스터에 저장되며, TRACE32 명령어를 통해 이를 읽어올 수 있습니다.
  3. SMP 관련 정보 확인:

    • SMP 시스템에서는 각 코어에 할당된 태스크가 다르므로, TRACE32의 TASK.INFO 명령어 등을 활용하여 각 CPU의 태스크 정보를 확인해보세요.

추가 참고 링크

이와 관련하여 이전에 비슷한 질문이 있었던 게시물들을 통해 더 자세한 정보를 얻으실 수 있습니다:

염재영님의 이해를 돕기 위해 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

덤프 파일 제공

0

44

1

라즈베리파이 어떤 모델 사시는걸 추천하나요?

0

53

1

실습을 위한 운영체제

0

58

2

에이전트 프로그램 다운로드 불가

0

71

2

Segger 사의 SystemView를 이용하여 디버깅해 보고 싶어요

0

40

1

강의 내용 관련 문의드립니다.

0

51

2

ISR에서 xEventGroupSetBitsFromISR() 함수를 사용하려고 합니다.

0

46

1

logicsniffers에서 문맥전환 할때 prvExampleTaskHook() 함수 호출 관련

0

39

2

섹션 2 DNS 강의자료가 34페이지가 마지막일까요?

1

79

2

추가질문)

0

75

1

tgz 백업파일

0

79

2

APM 보안 셋팅

1

72

1

"도커 이미지 생성" 18:59부분에 텍스트 파일로 정리 된거는 어디서 볼수 있나요?

0

102

1

ls -al /var/log/nginx

0

94

2

이번강의

0

85

2

버추얼박스 오류

0

97

1

세월이 흘러 문제가 바뀐 것 같습니다.

0

86

2

수업자료는 없나요?

0

46

1

디자인패턴 질문

0

72

2

실습환경

0

67

2

키페어 설정

0

74

2

vi 줄 정렬하신 방법에 대해 문의드립니다.

0

75

1

팩토리 패턴

0

79

2

섹션4 에 0강 으로 표시되네요.

0

189

1