Re: [PATCH 1/1] posix clocks: introduce syscall for clock tuning.
flat view
From: Richard Cochran <hidden>
Date: 2010-08-27 11:24:03
Also in:
linux-api, lkml
On Mon, Aug 23, 2010 at 01:41:13PM -0700, john stultz wrote:
As I mentioned in the previous mail, I agree the new functionality (adjusting the time by an offset instantaneously) is useful, but I'd prefer it be done initially within the existing adjtimex() interface.
But the adjtimex does not support nanosecond resolution.
Then if the posix-time clock_id multiplexing version of adjtimex is found to be necessary, the new syscall should be introduced, using the same API (not all clock_ids need to support all the adjtimex modes, but the new interface should be sufficient for NTPd to use).
Would the new syscall need to take a struct timex? If so, I think it not worth the effort of adding a syscall. Instead, we can just add "clockid" flags into the mode field.
There are some other conceptual issues this new syscall introduces: 1) While clock_adjtimex(CLOCK_REALTIME,...) would be equivalent to adjtimex(), would clock_adjtimex(CLOCK_MONOTONIC,...) make sense? Given CLOCK_MONOTONIC and CLOCK_REALTIME are both based off the same notion of time, but offset from each other, any adjustment to one clock would be reflected in the other. However, the API would make it seem like they could be adjusted independently.
You could adjust the frequency of either one. As a side effect, the other clock would also be adjusted. You can only change the time offset on CLOCK_REALTIME, and that would have no effect on CLOCK_MONOTONIC.
2) The same issue in #1 exists for CLOCK_REALTIME/MONOTONIC_COARSE variants. 3) Freq steering for MONOTONIC_RAW would defeat the purpose of the clock_id.
If I understand correctly, MONOTONIC_RAW is just access to the hardware counter?
4) Does adjustments to CPU_TIME clock_ids make sense?
Don't think so. Thanks, Richard