tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: TSC improvement
It's great to see improvements to our calibration of the TSC (and I
tend to agree that cpu_counter should be serializing, so that, e.g.,
cpu_counter(); ...; cpu_counter() reliably measures time taken in the
ellipsis).
At the same time, I wonder whether we should _also_:
1. Modify the tsc timecounter so that it uses a global atomic to
ensure that there is a global view of time as counted by the tsc.
This is what the timecounter(9) API per se expects of timecounters,
and right now tsc (along with various other per-CPU cycle counters)
fails to guarantee that.
2. Introduce an API for a local timecounter -- a per-CPU timecounter
that never goes backwards on a single CPU, but:
(a) measures units of wall clock time, unlike cpu_counter();
(b) need not be synchronized between CPUs; and
(c) may be cheaper to read than a global timecounter.
We could then use that for, e.g., rusage calculations.
Home |
Main Index |
Thread Index |
Old Index