두개의 리눅스 커널 버전 사이의 스케줄 레이턴시를 비교하고 싶습니다.리눅스 커널에서 스케줄링 대기 시간을 어떻게 측정 할 수 있습니까?
- 구성된 Ftrace 추적에 예정 : 이벤트 켜지고 모두 커널
- 에 : 여기에 지금까지 시도한 것입니다.
- 웨이크 업 추적 프로그램을 사용하도록 설정했습니다.
그러나 wakeup은 내 C 프로그램이 아닌 우선 순위가 높은 프로세스의 결과 만 보여줍니다. 나는 좋은 것을 사용하고 추적에서 그것을 잡으려고 노력했다. 아직도 다른 똑같이 높은 프로세스에 대한 로그를 보여줍니다. 내 과정 기록을 얻기 위해 다른 단계를 놓치고 있습니까? 프로그램을 시작할 때 nice를 사용하는 대신 내 프로그램의 소스 코드를 수정하여 내 프로세스의 우선 순위를 가장 높게 설정하는 더 좋은 방법이 있습니까?
내가 시도한 다음 단계는 웨이크 업 추적 프로그램을 비활성화하고 sched 이벤트를 활성화하는 것입니다. 내가 가진 로그 지연 (수를 알 언급 ftrace 커널 문서)를 보여줍니다이
0 1dNh3 3us+: sched wakeup : task hald : 1952 [120] success=1
−0 1d..3 7us! : sched switch : task swapper : 0 [140] (R) ==>
hald : 1952 [120]
+
및 !
같이 보입니다. 그것은 sched wakeup이 '+'의 대기 시간과 sched witch '!'를 가지고 있다는 것을 의미합니까? 마이크로 초마다?
다른 방법으로 리눅스 예약 대기 시간을 비교할 수 있습니까?