리눅스에서 타이머 관련 질문입니다.

pidgei의 이미지

리눅스에서 타이머는 clock_source에 맞는 타이머를 쓴다고 알고있는데요

지금 제 리눅스의 current_clocksource는 tsc 입니다.

그런데 tsc는 일정한 인터럽트를 발생시켜서 시간값을 올리는게 아니고 cpu 클락에 맞춰 값을 올려주는거잖아요

그럼 일반 컴터에서 타이머 인터럽트에 의해 발생하는 scheduler_tick() 은 tsc에서는 어찌 발생시키나요

http://stackoverflow.com/questions/13950264/does-using-tsc-as-clock-source-improve-timer-and-scheduling-granularity

이걸 보면 PIT는 그냥 기본으로 돌고 tsc는 PIT로 나온 결과를 보정해주는거 같은데요

문제는 availble_clocksource에 PIT가 없고 current_clocksource는 그냥 TSC인데 PIT가 어떻게 작동을 할 수 있을까요?