* Tulio Magno Quites Machado Filho ([email protected]) wrote: > Make caa_get_cycles() read from the Time Base register with only 1 > instruction.
Merged, I did a small coding style change to the patch, turning the #if/#else/#endif into multiple function implementations rather than affecting the cody of the same function. Thanks! Mathieu > > Signed-off-by: Tulio Magno Quites Machado Filho <[email protected]> > --- > urcu/arch/ppc.h | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/urcu/arch/ppc.h b/urcu/arch/ppc.h > index d7317bb..2b606d0 100644 > --- a/urcu/arch/ppc.h > +++ b/urcu/arch/ppc.h > @@ -48,10 +48,20 @@ extern "C" { > rval; \ > }) > > +#define mftb() \ > + ({ \ > + unsigned long long rval; \ > + asm volatile("mftb %0" : "=r" (rval)); \ > + rval; \ > + }) > + > typedef unsigned long long cycles_t; > > static inline cycles_t caa_get_cycles (void) > { > +#ifdef __powerpc64__ > + return (cycles_t) mftb(); > +#else > long h, l; > > for (;;) { > @@ -62,6 +72,7 @@ static inline cycles_t caa_get_cycles (void) > if (mftbu() == h) > return (((cycles_t) h) << 32) + l; > } > +#endif > } > > #ifdef __cplusplus > -- > 1.7.4.4 > > > _______________________________________________ > ltt-dev mailing list > [email protected] > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev > -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
