커널 - 타이머 인터럽트 속도 측정

커널 - 타이머 인터럽트 속도 측정

저는 (무엇보다도) HZ 속도 및 선점 모델 조정을 포함하여 전화기의 코어를 최적화하는 작업을 하고 있습니다.

처음에 커널은 기본 250HZ 및 자발적 선점으로 컴파일되었습니다.루프 테스트현재 표시된 최대 지연은 다음과 같습니다.5859, 이는 좋지만 최적은 아닙니다. 이상적으로는 3000 미만이기를 원하므로 더 깊이 파고들기로 결정했습니다.

그러나 혼란스러운 점은 실제 타이머 인터럽트 빈도를 얻으려고 할 때입니다.

cat /proc/interrupts | grep LOC ; sleep 10; cat /proc/interrupts | grep LOC

알겠어요

LOC:        212        370         92         81   Local timer interrupts
LOC:        212        370         92         81   Local timer interrupts

따라서 내 값은 변경되지 않습니다(두 번째 행은 250씩 증가해야 한다고 생각합니다).

그리고 설명대로 측정하려고 하면여기,나는 얻다

kernel timer interrupt frequency is approx. 2518 Hz

올바르게 계산하는 방법에 대한 아이디어가 있습니까?

음성 커널 최적화(RTC/SLAB/IO 스케줄러)에 대한 다른 제안이 있을까요?

고쳐 쓰다:다음에 추가

CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_DEBUG_PREEMPT=y

내 지연 시간을 다음으로 줄였습니다.

T: 0 ( 4628) P:80 I:10000 C:   4059 Min:     13 Act:   33 Avg:   69 Max:    

3634

아직 개선할 방법을 찾고 있는 중인데..

관련 정보