저는 (무엇보다도) 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
아직 개선할 방법을 찾고 있는 중인데..