Messages in this thread | | | Subject | Re: [PATCH v2 1/4] time: rtc-lib: Add rtc_show_time(const char *prefix_msg) | From | Mark Salyzyn <> | Date | Tue, 18 Jul 2017 16:25:11 -0700 |
| |
[TL;DR]
On 07/18/2017 03:35 PM, Thomas Gleixner wrote: > Can we please fix the tools and not introduce that horror in the kernel? IMHO, we can switch this patch to epoch.ns time; but the momentum on the tools will end up with us internally patching it back to RTC format at least until we can get our act together ... I have accepted that risk, we always like to see all changes upstream though. Would an additional config parameter appease the situation? > Just for the record: You cannot use that stuff deep in the suspend/resume > code because timekeeping is suspended there as well and that call to > getnstimeofday() is going to trigger a WARNON() when called after > timekeeping was suspended. So please be more precise about the limitations > of this.
Yes, I should have been clearer about that, in fact my comments in 0/4 were _backwards_ when I reread them ;-/. One of the issues is the somewhat helpful suspend millisecond duration requires a persistent clock, which is _not_ available on all hardware. Printing the time on entry and exit from suspend and resume is always possible because we are staying away from that lower level issue.
I should probably roll the details of 0/4 comments into 1/4, the intro has not served its purpose.
It should also be made clearer that these single messages serve _two_ purposes, the primary one is power analysis; the secondary one is log synchronization.
> There was some discussion about making the clock source for dmesg time > stamps selectable, so you can use MONOTONIC, REALTIME, BOOTTIME. The > patches looked sensible, but there was some showstopper vs. the user space > dmesg utility. See:
The timestamps are useful for the 'second' purpose of these patches when dmesg time is BOOTTIME or MONOTONIC, and can be turned off if REALTIME is selected. Having rtc_show_time a single point for switching this no doubt helps, not hinders, that dmesg issue.
The inflection points would still serve a purpose, still need suspend/resume/hibernate/restore. The reboot messages are _only_ useful to us with their timestamps, as I checked and the only tools that use those are for log synchronization. We may be able to do away with them on REALTIME dmesg'ing; but the standardization of the message as a marker would have a legacy purpose (!)
NB: We have a similar configuration for the user space logger, which can be configured to report in MONOTONIC time. We have yet to have a vendor use the feature, opting for REALTIME logging for user space activities. Our klogd (which runs at background priority and is batched) manages a histogram relationship between MONOTONIC and REALTIME helped by these prints and incorporates the REALTIME dmesg logs merged into our user space logging database.
-- Mark
| |