Re: perf_counter: request for three more sample data options

From: Paul Mackerras
Date: Fri Apr 03 2009 - 04:51:29 EST


Peter Zijlstra writes:

> What I was thinking of was re-using some of the cpu_clock()
> infrastructure. That provides us with a jiffy based GTOD sample,
> cpu_clock() then uses TSC and a few filters to compute a current
> timestamp.
>
> I was thinking about cutting back those filters and thus trusting the
> TSC more -- which on x86 can do any random odd thing. So provided the
> TSC is not doing funny the results will be ok-ish.
>
> This does mean however, that its not possible to know when its gone bad.

I would expect that perfmon would be just reading the TSC and
recording that. If you can read the TSC and do some correction then
we're ahead. :)

> The question to Paul is, does the powerpc sched_clock() call work in NMI
> -- or hard irq disable -- context?

Yes - timekeeping is one area where us powerpc guys can be smug. :)
We have a per-core, 64-bit timebase register which counts at a
constant frequency and is synchronized across all cores. So
sched_clock works in any context on powerpc - all it does is read the
timebase and do some simple integer arithmetic on it.

Paul.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/