On Tue, Nov 21, 2017 at 5:06 PM, Richard Cochran <richardcochran@xxxxxxxxx> wrote: > On Tue, Nov 21, 2017 at 09:06:37AM +0100, Arnd Bergmann wrote: >> >> I copied that line from clock_gettime() man page. I suppose we want to >> fix change this in both pages, right? Any suggestions for a good way to >> express your explanation in the man page? I suppose we don't want to >> go into details of the implementation there but still capture the possible >> corner cases. > > Dynamic clockids are a Linux specific extension. This should be > explained with a paragraph or two on the gettime man page, along with > an example using the macros. > > #define CLOCKFD 3 > #define FD_TO_CLOCKID(fd) ((~(clockid_t) (fd) << 3) | CLOCKFD) > #define CLOCKID_TO_FD(clk) ((unsigned int) ~((clk) >> 3)) > > Then, the adjtimex page can say, see gettime. > > Let me try to come up with a text over the (USA) holiday weekend. Thanks! There is no rush here, take your time. One more question: I see that ptp_clock_adjtime doesn't call timekeeping_validate_timex(), so a number of the error conditions are not caught there. Should we document that as intended, or change it to behave the same way as do_adjtimex()? I also see that ptp_clock_adjtime() ignores all other flags whenever ADJ_SETOFFSET is set, while __do_adjtimex() can do ADJ_SETOFFSET and ADJ_FREQUENCY (or any other combination) in a single syscall, which matches what is documented in the man page. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html