From: Bouchard Louis <louis.bouchard@canonical.com>
To: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>,
Vivek Goyal <vgoyal@redhat.com>
Cc: kexec@lists.infradead.org
Subject: Re: makedumpfile --dump-dmesg option broken on 3.5 kernels and later
Date: Wed, 30 Jan 2013 14:45:18 +0100 [thread overview]
Message-ID: <510923EE.5000202@canonical.com> (raw)
In-Reply-To: <20130123101952.79072daf31bb30e217d38adf@mxc.nes.nec.co.jp>
Hello,
Le 23/01/2013 02:19, Atsushi Kumagai a écrit :
> Hello Louis,
>
> On Tue, 22 Jan 2013 14:52:09 +0100
> Bouchard Louis <louis.bouchard@canonical.com> wrote:
>
>> Hello Kumagai-san,
>>
>> Following a suggestion from Dave Anderson, I have tested the
>> makedumpfile --dump-dmesg option. After some research, I realized that
>> the option was no longer working on 3.5 kernel and later. Here is an
>> example of the result (on Ubuntu Quantal) :
>>
>> # makedumpfile --dump-dmesg /proc/vmcore /tmp/dmesg
>> dump_dmesg: Can't find some symbols for log_buf.
>>
>> makedumpfile Failed.
>>
>> On 3.5 kernel and later, the log_end symbol no longer exists.
>>
>> This is caused by the change from byte-buffer structure to
>> variable-length record buffer of the kernel log buffer introduced by
>> this commit :
>> http://goo.gl/NCgLI
>>
>> I am curious to know if you were aware of this change and if you had
>> done some work on modifying dump_dmesg() accordingly ? Just so I don't
>> go off and try to work on something that you have already solved.
>
> Thanks for your report.
> I haven't been aware of this, so could I ask you to help me ?
>
>
> Thanks
> Atsushi Kumagai
I now have what looks like a working patch for this issue. Thank to Dave
Anderson (crash) and Eric Biederman (vmcore-dmesg) for having chewed
most of the work for me.
My only remaining problem is to be able to print the syslog level as is
provided in the previous version. Currently, the kernel doesn't export
the 'level:3' offset of the log structure in the vmcoreinfo information
provided in the vmcore.
Vivek who authored the original kernel/printk.c patch might be able to
suggest a better way to expose log.level:3 (I did try to patch the
kernel but got thrown away because of the nature of .level:3 that didn't
fit the VMCOREINFO_OFFSET macro)
In the meantime, I only found this kinda ugly hack to work around the
absence of the structure element :
> /*
> * Ugly hack around absence of log.level:3
> * Hard code log.level offset = log.dict_len + 3
> */
> level = (UCHAR(logptr + OFFSET(log.dict_len)+3)&level_mask);
>
> sprintf(buf,"<%d>[%5lld.%06ld] ",level,nanos,rem/1000);
Aside from that, I get an identical dmesg output on kernel 3.5 and after.
I would appreciate comments on the following before I send the patch to
the list.
Kind regards,
...Louis
--
Louis Bouchard
Backline Support Analyst
Canonical Ltd
Ubuntu support: http://landscape.canonical.com
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2013-01-30 13:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-22 13:52 makedumpfile --dump-dmesg option broken on 3.5 kernels and later Bouchard Louis
2013-01-23 1:19 ` Atsushi Kumagai
2013-01-23 8:49 ` Bouchard Louis
2013-01-30 13:45 ` Bouchard Louis [this message]
[not found] <mailman.13964.1359561994.1038.kexec@lists.infradead.org>
2013-01-30 17:11 ` Dave Anderson
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=510923EE.5000202@canonical.com \
--to=louis.bouchard@canonical.com \
--cc=kexec@lists.infradead.org \
--cc=kumagai-atsushi@mxc.nes.nec.co.jp \
--cc=vgoyal@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox