In processors that support time stamp counter (TSC) Linux provides the high resolution timer option using TSC. From what I understand TSC is a register that can be read but doesn't provide the option to interrupt the CPU at a configured rate. So for the timer interrupt generation in Linux still has to rely on I/O APIC (on x86) with HZ value typically set to 1000 or 250.
Even though TSC gives time stamps at micro second granularity the timer/scheduling granularity will still be at 4ms or 1ms depending on the HZ value. Is this understanding correct ? Or is there an option to improve the timer granularity using the TSC ?