On 08/01/2017 01:00 PM, John Stultz wrote:
On Tue, Aug 1, 2017 at 5:55 AM, Prarit Bhargava <prarit@xxxxxxxxxx> wrote:Sorry for missing this.
printk.time=1/CONFIG_PRINTK_TIME=1 adds a unmodified local hardware clock...
timestamp to printk messages. The local hardware clock loses time each
day making it difficult to determine exactly when an issue has occurred in
the kernel log, and making it difficult to determine how kernel and
hardware issues relate to each other in real time.
Make printk output different timestampes by adding options for no
timestamp, the local hardware clock, the monotonic clock, and the real
clock. Allow a user to pick one of the clocks by using the printk.time
kernel parameter. Output the type of clock in
/sys/module/printk/parameters/time so userspace programs can interpret the
timestamp.
Real clock & 32-bit systems: Selecting the real clock printk timestamp may
lead to unlikely situations where a timestamp is wrong because the real time
offset is read without the protection of a sequence lock in the call to
ktime_get_log_ts() in printk_get_ts().
v2: Use peterz's suggested Kconfig options. Merge patchset together. Fix
i386 !CONFIG_PRINTK builds.
Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debugIts been asked already, but I've not yet seen an answer.
index 98fe715522e8..7a8870b4ddbb 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1,8 +1,39 @@
menu "printk and dmesg options"
+choice
+ prompt "printk default clock"
+ config PRINTK_TIME_DISABLE
+ bool "Disabled"
+ help
+ Selecting this option disables the time stamps of printk().
+
+ config PRINTK_TIME_LOCAL
+ bool "Local Clock"
+ help
+ Selecting this option causes the time stamps of printk() to be
+ stamped with the unadjusted hardware clock.
+
+ config PRINTK_TIME_MONO
+ bool "CLOCK_MONOTONIC"
+ help
+ Selecting this option causes the time stamps of printk() to be
+ stamped with the adjusted monotonic clock.
+
+ config PRINTK_TIME_REAL
+ bool "CLOCK_REALTIME"
+ help
+ Selecting this option causes the time stamps of printk() to be
+ stamped with the adjusted realtime clock.
Is there a reason your not also adding PRINTK_TIME_BOOT here (which toREAL has been useful to me in debug cases where events on the system were timed
me would be more generally useful then REAL or MONO)?
to the wall clock (ex cron job running at 3AM). I hadn't really thought much
about using BOOT TBH because MONO seemed to work just fine.
Mark Salyzyn, did you want BOOT or MONO?
P.