[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1452085234-10667-1-git-send-email-prarit@redhat.com>
Date: Wed, 6 Jan 2016 08:00:32 -0500
From: Prarit Bhargava <prarit@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: Prarit Bhargava <prarit@...hat.com>,
John Stultz <john.stultz@...aro.org>,
Xunlei Pang <pang.xunlei@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Baolin Wang <baolin.wang@...aro.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Petr Mladek <pmladek@...e.cz>, Tejun Heo <tj@...nel.org>,
Peter Hurley <peter@...leysoftware.com>,
Vasily Averin <vvs@...tuozzo.com>,
Joe Perches <joe@...ches.com>
Subject: [PATCH 0/2] printk, Add a printk.clock kernel parameter
Over the past years I've seen many reports of bugs that include
time-stamped kernel logs (enabled when CONFIG_PRINTK_TIME=y or
print.time=1 is specified as a kernel parameter) that do not align
with either external time stamped logs or /var/log/messages.
For example,
[root@...el-wildcatpass-06 ~]# date; echo "Hello!" > /dev/kmsg ; date
Thu Dec 17 13:58:31 EST 2015
Thu Dec 17 13:58:31 EST 2015
which displays
[83973.768912] Hello!
on the serial console.
Running a script to convert this to "boot time",
[root@...el-wildcatpass-06 ~]# ./human.sh | tail -1
[Thu Dec 17 13:59:57 2015] Hello!
which is already off by 1 minute and 26 seconds off after ~24 hours of
uptime.
This occurs because the time stamp is obtained from a call to
local_clock() which (on x86) is a direct call to the hardware. These
hardware clock reads are not modified by the standard ntp or ptp protocol,
while the other timestamps are, and that results in situations where
/var/log/messages timestamps are further and further offset from the
hardware clock timestamps.
This patch introduces printk.clock=[local|boot|real|tai] allowing a
user to specify an adjusted clock to use with printk timestamps. The
hardware clock, or the existing functionality, is preserved by default.
Cc: John Stultz <john.stultz@...aro.org>
Cc: Xunlei Pang <pang.xunlei@...aro.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Baolin Wang <baolin.wang@...aro.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Petr Mladek <pmladek@...e.cz>
Cc: Tejun Heo <tj@...nel.org>
Cc: Peter Hurley <peter@...leysoftware.com>
Cc: Vasily Averin <vvs@...tuozzo.com>
Cc: Joe Perches <joe@...ches.com>
Signed-off-by: Prarit Bhargava <prarit@...hat.com>
Prarit Bhargava (2):
kernel, timekeeping, add trylock option to ktime_get_with_offset()
printk, Add printk.clock kernel parameter
include/linux/time64.h | 2 +
include/linux/timekeeping.h | 50 +++++++++++++++++++--
kernel/printk/printk.c | 105 +++++++++++++++++++++++++++++++++++++++----
kernel/time/timekeeping.c | 15 ++++++-
4 files changed, 159 insertions(+), 13 deletions(-)
--
1.7.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists