I'm not sure I follow you here. Clocksources have the means to adjust
the rate of time progression, mostly to warp the time for things like
ntp. The stability or otherwise of the tsc is irrelevant.
If you had a clocksource which was explicitly using the rate at which a
CPU does work as a timebase, then using the same warping mechanism would
allow you to model CPU speed changes.
Yes, that works. But a clocksource is strictly about measuring the
progression of real time, and so doesn't generally measure how much work
a CPU has done.
Well, lots of cpus have dynamic frequencies. Any scheduler which
maintains history will suffer the same problem, even on UP. If
processes A and B are supposed to have the same priority and they both
execute for 1ms of real time, did they make the same amount of
progress? Not if the cpu changed speed in between.
And any system which commonly runs virtualized (s390, power, etc) will
need to deal with the notion of stolen time.
J
-