[rtems commit] riscv: Implement CPU counter

Hesham Almatary heshamelmatary at gmail.com
Fri Jul 13 09:48:35 UTC 2018


On Thu, Jul 12, 2018 at 9:41 PM, Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
>
>
> ----- Am 6. Jul 2018 um 15:11 schrieb Hesham Almatary heshamelmatary at gmail.com:
>
> > On Fri, 6 Jul 2018 at 1:28 pm, Sebastian Huber <sebh at rtems.org> wrote:
> [...]
> >> -CPU_Counter_ticks _CPU_Counter_read( void );
> >> +static inline CPU_Counter_ticks _CPU_Counter_read( void )
> >> +{
> >> +  unsigned long ticks;
> >> +
> >> +  __asm__ volatile ( "rdtime %0" : "=&r" ( ticks ) );
> >> +
> >
> > Shouldn’t this be “rdcycle” instead of “rdtime”?
>
> The rdcycle is affected by power saving states. If you want to use the CPU counter for fast timestamps, then this is bad.

I agree. However, if we just want to read cycles/ticks (for
performance monitoring) by calling this function, "rdtime" wouldn't
report the desired result** in tthis case.


** From the spec: "The execution environment should provide a means of
determining the period of the real-time counter (seconds/tick)"


-- 
Hesham



More information about the devel mailing list