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

From: Leonid Yegoshin
Date: Tue Oct 27 2015 - 17:15:38 EST


On 10/27/2015 02:02 PM, David Daney wrote:
On 10/27/2015 01:46 PM, Leonid Yegoshin wrote:
[...]

And finally. clock scaling - what we would do if there are two CPUs with
different clock ratios in system? It seems like common kernel timing
subsystem can handle that.


The code that executes in userspace must have access to a consistent clock source. If you are running on a SMP system that doesn't have synchronized CP0.Count registers, then your gettimeofday() cannot use CP0.Count (RDHWR $2).

Right, I agree.


As far as I know, CP0.Count is the only available counter visible to userspace, so you would have to disable the accelerated versions of gettimeofday() where you cannot assert that the counters are always synchronized.

Any system with GIC may have access to the same GIC global counter in a special separate page available for mapping by user in RO mode and it seems Alex did that.

Besides that this GIC global counter is used as a major system clocksource in systems with GIC.

- Leonid


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