From 76b2d51f406aebaac61329a7f0831ee69ea6d7a0 Mon Sep 17 00:00:00 2001 From: Evan Wilson Date: Fri, 8 Jan 2016 13:59:04 -0800 Subject: Patch to use local_clock for kernel messages Change-Id: I96e63d161c8806e962133f4e76d98881f763d9f2 --- kernel/printk.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'kernel/printk.c') diff --git a/kernel/printk.c b/kernel/printk.c index bf785e0ce73..c247ad5df09 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -258,7 +258,17 @@ static u32 clear_idx; static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN); static char *log_buf = __log_buf; static u32 log_buf_len = __LOG_BUF_LEN; +static u64 print_clock(void) +{ + struct timespec ts; + u64 ts_nsec = local_clock(); + + ts = ns_to_timespec(ts_nsec); + monotonic_to_bootbased(&ts); + ts_nsec = timespec_to_ns(&ts); + return ts_nsec; +} /* cpu currently holding logbuf_lock */ static volatile unsigned int logbuf_cpu = UINT_MAX; @@ -358,7 +368,7 @@ static void log_store(int facility, int level, if (ts_nsec > 0) msg->ts_nsec = ts_nsec; else - msg->ts_nsec = local_clock(); + msg->ts_nsec = print_clock(); //local_clock(); memset(log_dict(msg) + dict_len, 0, pad_len); msg->len = sizeof(struct log) + text_len + dict_len + pad_len; @@ -1454,7 +1464,7 @@ static bool cont_add(int facility, int level, const char *text, size_t len) cont.facility = facility; cont.level = level; cont.owner = current; - cont.ts_nsec = local_clock(); + cont.ts_nsec = print_clock(); //local_clock(); cont.flags = 0; cont.cons = 0; cont.flushed = false; -- cgit v1.2.3-70-g09d2