Re: [PATCH RFC V2 4/6] time: introduce leap second functional interface

From: John Stultz
Date: Mon May 21 2012 - 16:25:15 EST


On 05/21/2012 12:18 PM, Richard Cochran wrote:
On Mon, May 21, 2012 at 11:01:03AM -0700, John Stultz wrote:
On 05/18/2012 07:09 AM, Richard Cochran wrote:
+
+int timekeeping_gettod_status(struct timespec *ts, time_t *offset);
+
+void timekeeping_delete_leap_second(void);
+
+void timekeeping_finish_leap_second(void);
+
+void timekeeping_insert_leap_second(void);
+
+#endif
Why not just add these to time.h?
This is a private interface only for ntp.c, not for the whole rest of
the kernel via time.h.
Hrm. I prefer to keep things fairly flat (even having time.h and timex.h bugs me somewhat). But having such a separation could be useful, but maybe at a slightly more coarse level. Something like timekeeping-internal.h and time.h, splitting all the general accessors away from the non-general.

I just don't want to have a ton of stray .h files, but maybe I'm prematurely worrying about it.

BTW this highlights the very icky incestuous relationship between
ntp.c and timekeeper.c. Probably there should be a comment documenting
the (unspoken) locking sequence for ntp_lock and timekeeper.lock.

The locking order is pretty straight forward: timekeeper.lock -> ntp_lock. This only gets messy when you require timekeeping data from the ntp context, but usually we provide the required data via the caller. But better documentation is always welcome.

thanks
-john

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