SCHED_SWITCH
Posts
2 posts[리눅스커널] 스케줄링: 스케줄링/디버깅: ftrace: sched_switch와 sched_wakeup 이벤트 소개
리눅스 커널 ftrace 에서 sched_switch와 sched_wakeup 이벤트를 지원합니다. 각각 이벤트에 대해 소개하고 메시지를 분석하는 방법을 살펴보겠습니다. 리눅스 커널의 프로세스 동작을 처음 접하는 분들이 겪는 어려움이 있습니다. 실제 리눅스 시스템에서 얼마나 자주 프로세스가 스케줄링 되는지 확인할 수 없다는 것입니다. 그 이유는 간단합니다. 코드를 분석한 내용을 실제 리눅스 시스템에서 확인하지 않기 때문입니다. 그래서 임베디드 리눅스를 개발할 때 모듈이나 드라이버 코드가 실행할 때 어떤 프로세스가 어떻게 스케줄링 되는지 확인하기도 어렵습니다. 리눅스 커널에서는 이런 의문을 해소시킬 수 있는 디버깅 기능을 지원합니다. 바로 ftrace입니다. ftrace 에는 프로세스
[리눅스커널][스케줄링] ftrace로 컨택스트 스위칭 동작 확인
ftrace로 컨택스트 스위칭 동작 확인 이전 절에 봤던 ftrace 로그를 살펴보면서 스케줄링 동작을 살펴봅시다.lxpanel-718 [002] d... 7831.739824: sched_switch: prev_comm=lxpanel prev_pid=718 prev_prio=120 prev_state=D ==> next_comm=Xorg next_pid=552 next_prio=120 먼저 메시지 가장 왼쪽 부분을 보겠습니다. CPU2에서 lxpanel(pid-718) 프로세스가 실행 중입니다. 휴면에 진입할 프로세스는 lxpanel(pid=718) 이고 다음에 실행될 프로세스는 Xorg(pid=552)입니다. - struct task_struct *prev: prev_comm=lxpane


