From: Prarit Bhargava <prarit@redhat.com>
To: Petr Mladek <pmladek@suse.com>, Thomas Gleixner <tglx@linutronix.de>
Cc: John Ogness <john.ogness@linutronix.de>,
Orson Zhai <orson.zhai@unisoc.com>, Baoquan He <bhe@redhat.com>,
cixi.geng1@unisoc.com, Stephen Boyd <sboyd@kernel.org>,
zhang.lyra@gmail.com, Steven Sistare <steven.sistare@oracle.com>,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>,
Jon DeVree <nuxi@vault24.org>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
John Stultz <john.stultz@linaro.org>,
ruifeng.zhang1@unisoc.com, Orson Zhai <orsonzhai@gmail.com>,
Salvatore Bonaccorso <carnil@debian.org>,
Dave Young <dyoung@redhat.com>,
Dominique Martinet <asmadeus@codewreck.org>,
Vivek Goyal <vgoyal@redhat.com>,
Pavel Tatashin <pasha.tatashin@soleen.com>
Subject: Re: [RFC PATCH] printk: Change timestamp to triplet as mono, boot and real
Date: Tue, 11 Aug 2020 09:43:28 -0400 [thread overview]
Message-ID: <ea1def14-3f03-e0e7-6658-6bbcd9861b2e@redhat.com> (raw)
In-Reply-To: <20200811130218.GI6215@alley>
On 8/11/20 9:02 AM, Petr Mladek wrote:
> On Tue 2020-08-11 14:05:12, Thomas Gleixner wrote:
>> Petr Mladek <pmladek@suse.com> writes:
>>> At least "crash" tool would need an update anyway. AFAIK, it checks
>>> the size of struct printk_log and refuses to read it when it changes.
>>>
>>> It means that the hack with VMCOREINFO_FIELD_OFFSET probably is not
>>> needed because we would need to update the crashdump-related tools anyway.
>>>
>>> Well, the timing is good. We are about to switch the printk ring
>>> buffer into a lockless one. It requires updating the crashdump tools
>>> as well. We could do this at the same time. The lockless ring buffer
>>> already is in linux-next. It is aimed for 5.10 or 5.11.
>> ...
>>> It would be great to synchronize all these changes changes of the
>>> printk log buffer structures.
>>
>> I agree that having one update is a good thing, but pretty please can we
>> finally make progress with this and not create yet another dependency?
>
> To make it clear. I definitely do not want to block lockless printk by
> this.
Thanks for clarifying that. I had the same concern that tglx had.
>
> BTW: I am not 100% convinced that storing all three timestamps is
> worth it. It increases the code complexity, metadata size. It needs
> an interface with the userspace that has to stay backward compatible.
>
> Also it still will be racy because the timestamp is taken when the message
> is printed. It might be "long" before or after the event that
> it talks about.
That scenario plays out today with the current timestamp. Printing debug with a
better timestamp doesn't resolve that problem nor is it intended to.
>
> There is still the alternative to print all three timestamps regularly
> for those interested. It is less user convenient but much easier
> to maintain.
While I agree, in general, your alternative is useful for in-person debugging it
is not helpful in cases where a user only has an image of a panic where the
printk time-synch message has scrolled off the screen.
Consider this real debug case where I hacked the boottime stamp into printk: We
had some systems with flaky HW that hit panics at 10 hours [1] of uptime. Since
these systems came from different vendors with different HW the clocks were
out-of-sync. I had a suspicion that it was some human-coded event causing the
HW to die but wasn't sure until I did a boottime-stamped printk to prove that
all the systems died after 10 hours.
I could have set a stopwatch or timer to somehow catch this kind of event. I
could have set up video cameras to watch the consoles, etc. There are a lot of
other ways I could have debugged this situation but ultimately the fastest thing
to do was code and provide kernels to the various HW companies and see if
everything lined up as I thought it would.
This problem happens far more often then I'd like to admit and we still see this
type of problem with new HW and FW. I also recall that other kernel groups
(storage, networking, etc.) were interested in the timestamps as it would make
their debugging easier to have a true synchronized timestamp available.
One other thing -- IIRC I had to modify the dmesg code by providing a sysfs (or
proc?) interface for dmesg to identify the stamp. It's something that should be
investigated with this code too.
P.
[1] It was 3+ years ago. I can't remember if it was 10 or 100 but you get the
point.
>
> Best Regards,
> Petr
>
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Prarit Bhargava <prarit@redhat.com>
To: Petr Mladek <pmladek@suse.com>, Thomas Gleixner <tglx@linutronix.de>
Cc: Orson Zhai <orsonzhai@gmail.com>, Dave Young <dyoung@redhat.com>,
Baoquan He <bhe@redhat.com>, Vivek Goyal <vgoyal@redhat.com>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
John Stultz <john.stultz@linaro.org>,
Stephen Boyd <sboyd@kernel.org>,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
zhang.lyra@gmail.com, ruifeng.zhang1@unisoc.com,
cixi.geng1@unisoc.com, Orson Zhai <orson.zhai@unisoc.com>,
Pavel Tatashin <pasha.tatashin@soleen.com>,
Steven Sistare <steven.sistare@oracle.com>,
Dominique Martinet <asmadeus@codewreck.org>,
Jon DeVree <nuxi@vault24.org>,
Salvatore Bonaccorso <carnil@debian.org>,
John Ogness <john.ogness@linutronix.de>
Subject: Re: [RFC PATCH] printk: Change timestamp to triplet as mono, boot and real
Date: Tue, 11 Aug 2020 09:43:28 -0400 [thread overview]
Message-ID: <ea1def14-3f03-e0e7-6658-6bbcd9861b2e@redhat.com> (raw)
In-Reply-To: <20200811130218.GI6215@alley>
On 8/11/20 9:02 AM, Petr Mladek wrote:
> On Tue 2020-08-11 14:05:12, Thomas Gleixner wrote:
>> Petr Mladek <pmladek@suse.com> writes:
>>> At least "crash" tool would need an update anyway. AFAIK, it checks
>>> the size of struct printk_log and refuses to read it when it changes.
>>>
>>> It means that the hack with VMCOREINFO_FIELD_OFFSET probably is not
>>> needed because we would need to update the crashdump-related tools anyway.
>>>
>>> Well, the timing is good. We are about to switch the printk ring
>>> buffer into a lockless one. It requires updating the crashdump tools
>>> as well. We could do this at the same time. The lockless ring buffer
>>> already is in linux-next. It is aimed for 5.10 or 5.11.
>> ...
>>> It would be great to synchronize all these changes changes of the
>>> printk log buffer structures.
>>
>> I agree that having one update is a good thing, but pretty please can we
>> finally make progress with this and not create yet another dependency?
>
> To make it clear. I definitely do not want to block lockless printk by
> this.
Thanks for clarifying that. I had the same concern that tglx had.
>
> BTW: I am not 100% convinced that storing all three timestamps is
> worth it. It increases the code complexity, metadata size. It needs
> an interface with the userspace that has to stay backward compatible.
>
> Also it still will be racy because the timestamp is taken when the message
> is printed. It might be "long" before or after the event that
> it talks about.
That scenario plays out today with the current timestamp. Printing debug with a
better timestamp doesn't resolve that problem nor is it intended to.
>
> There is still the alternative to print all three timestamps regularly
> for those interested. It is less user convenient but much easier
> to maintain.
While I agree, in general, your alternative is useful for in-person debugging it
is not helpful in cases where a user only has an image of a panic where the
printk time-synch message has scrolled off the screen.
Consider this real debug case where I hacked the boottime stamp into printk: We
had some systems with flaky HW that hit panics at 10 hours [1] of uptime. Since
these systems came from different vendors with different HW the clocks were
out-of-sync. I had a suspicion that it was some human-coded event causing the
HW to die but wasn't sure until I did a boottime-stamped printk to prove that
all the systems died after 10 hours.
I could have set a stopwatch or timer to somehow catch this kind of event. I
could have set up video cameras to watch the consoles, etc. There are a lot of
other ways I could have debugged this situation but ultimately the fastest thing
to do was code and provide kernels to the various HW companies and see if
everything lined up as I thought it would.
This problem happens far more often then I'd like to admit and we still see this
type of problem with new HW and FW. I also recall that other kernel groups
(storage, networking, etc.) were interested in the timestamps as it would make
their debugging easier to have a true synchronized timestamp available.
One other thing -- IIRC I had to modify the dmesg code by providing a sysfs (or
proc?) interface for dmesg to identify the stamp. It's something that should be
investigated with this code too.
P.
[1] It was 3+ years ago. I can't remember if it was 10 or 100 but you get the
point.
>
> Best Regards,
> Petr
>
next prev parent reply other threads:[~2020-08-11 13:44 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-11 4:40 [RFC PATCH] printk: Change timestamp to triplet as mono, boot and real Orson Zhai
2020-08-11 4:40 ` Orson Zhai
2020-08-11 4:56 ` Randy Dunlap
2020-08-11 4:56 ` Randy Dunlap
2020-08-11 9:44 ` Petr Mladek
2020-08-11 9:44 ` Petr Mladek
2020-08-11 12:05 ` Thomas Gleixner
2020-08-11 12:05 ` Thomas Gleixner
2020-08-11 13:02 ` Petr Mladek
2020-08-11 13:02 ` Petr Mladek
2020-08-11 13:43 ` Prarit Bhargava [this message]
2020-08-11 13:43 ` Prarit Bhargava
2020-08-13 1:55 ` Sergey Senozhatsky
2020-08-13 1:55 ` Sergey Senozhatsky
2020-08-13 10:22 ` Petr Mladek
2020-08-13 10:22 ` Petr Mladek
2020-08-13 11:31 ` Sergey Senozhatsky
2020-08-13 11:31 ` Sergey Senozhatsky
2020-08-14 9:50 ` Petr Mladek
2020-08-14 9:50 ` Petr Mladek
2020-08-13 10:26 ` Thomas Gleixner
2020-08-13 10:26 ` Thomas Gleixner
2020-08-14 6:34 ` Dave Young
2020-08-14 6:34 ` Dave Young
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ea1def14-3f03-e0e7-6658-6bbcd9861b2e@redhat.com \
--to=prarit@redhat.com \
--cc=asmadeus@codewreck.org \
--cc=bhe@redhat.com \
--cc=carnil@debian.org \
--cc=cixi.geng1@unisoc.com \
--cc=dyoung@redhat.com \
--cc=john.ogness@linutronix.de \
--cc=john.stultz@linaro.org \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuxi@vault24.org \
--cc=orson.zhai@unisoc.com \
--cc=orsonzhai@gmail.com \
--cc=pasha.tatashin@soleen.com \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=ruifeng.zhang1@unisoc.com \
--cc=sboyd@kernel.org \
--cc=sergey.senozhatsky@gmail.com \
--cc=steven.sistare@oracle.com \
--cc=tglx@linutronix.de \
--cc=vgoyal@redhat.com \
--cc=zhang.lyra@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.