Re: [PATCH 1/7] Simple Performance Counters: Core Piece

From: Mathieu Desnoyers
Date: Fri Aug 17 2007 - 23:26:26 EST


* Christoph Lameter (clameter@xxxxxxx) wrote:
> On Fri, 17 Aug 2007, Mathieu Desnoyers wrote:
>
> > Actually, get_cycles() at least on some AMD cpus, do not synchronize the
> > core, which can skew the results. You might want to use
> > get_cycles_sync() there.
>
> get_cycle() results as used here are bound to a single processor. If we
> end up on a different processor at the end of the measurement then the
> result is discarded. So not need for get_cycles_sync.
>

I may be wrong, but I think the UP case still needs to synchronize the
core to have precise measurement. This sync core will make sure that
rdtsc is not executed speculatively. It therefore makes sure it is not
misplaced in the instruction stream. I therefore don't think this is a
SMP special case.

Mathieu

--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
-
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/