I am reading about jiffies which will be updated for every timer interrupt. The frequency of the timer interrupt is determined by compile time constant HZ.
We have lot of hardware devices present on X86.
1. RTC
2. Programmable interrupt timer
3. Local APIC
4. Time Stamp Counter
5. HPET
Which is the device used by the Linux Kernel for incrementing the jiffie value.
Robert Love book says 'Programmable Interrupt Timer'. Is it still valid.
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
Is the above sys file giving that information?
Best Answer
I suspect you were reading this or something very similar (https://elinux.org/Kernel_Timer_Systems):
So it seems you are asking "what timer times a jiffy?"
By process of elimination: RTC, newer Local APIC, and TSC don't support fixed frequency interrupts. As quoted below HPET seems to superseed PIT.
So the most likely answer is the HPET. These are based on a counter triggered by a quartz crystal, usually on the south bridge. In this case jiffys are timed by a single HPET comparator in periodic mode that generates interrupt.
However it is possible for linux to still use a PIT or other timer (see https://en.wikipedia.org/wiki/High_Precision_Event_Timer) :
Connection between PIT and PET
The Programmable Interrupt Timer is an active timer that interrupts the normal execution of code. It seems to have been superseded by the HPET: