Re: [PATCH util-linux] dmesg: adjust timestamps according to suspended time

From: Konstantin Khlebnikov
Date: Thu Jun 04 2020 - 05:44:02 EST


On 04/06/2020 12.30, Karel Zak wrote:
On Mon, Jun 01, 2020 at 10:21:34PM +0300, Konstantin Khlebnikov wrote:
Timestamps in kernel log comes from monotonic clocksource which does not
tick when system suspended. Suspended time easily sums into hours and days
rendering human readable timestamps in dmesg useless.

Adjusting timestamps accouring to current delta between boottime and
monotonic clocksources produces accurate timestamps for messages printed
since last resume. Which are supposed to be most interesting.

It's definitely better than the current broken timestamps, but the real
and final solution is to have exact information about system suspends.

It would be enough to maintain in kernel memory a simple log with
<bootime> <monotonic> <state_change>
and export this info by /proc/suspendlog, after that we can all
re-count /dev/kmsg timestamps to something useful.

Boottime or real time could be simply printed into kernel log at
suspend and resume. So demsg could detect current offset while reading.

But for older kernel dmesg still needs guessing like this.


Karel