Re: [v3, 3/3] MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime()

From: Ralf Baechle
Date: Tue Oct 27 2015 - 10:47:57 EST


On Thu, Oct 22, 2015 at 06:41:30PM -0700, Leonid Yegoshin wrote:

> You can not use R4K CP0_count in SMP (multicore) without core-specific
> adjustment.
> After first power-saving with core clock off or core down the values in
> CP0_count
> in different cores are absolutely different.
>
> Until you include in system a patch like
> http://patchwork.linux-mips.org/patch/10871/
>
> "MIPS: Setup an instruction emulation in VDSO protected page instead of
> user stack"
>
> which creates a per-thread memory and put into that memory an adjustment
> value
> (which can be changed during re-schedule to another core), the use of R4K
> counter is incorrect
> in SMP environment.
>
> Note: It is also possible to setup and maintain a per-core page with that
> value too as
> an alternative variant for adjustment.

The CPU hot plugging code is supposed to resychronize the counters when
a CPU is coming online again so that case should be handled. Beyond that
the r4k timer code in the kernel also doesn't support clock scaling
so I'm ok if the VDSO series doesn't support this properly.

Ralf
--
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/