makedumpfile -g with recent kernels

HATAYAMA Daisuke d.hatayama at jp.fujitsu.com
Tue Aug 7 03:36:00 EDT 2012


From: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
Subject: Re: makedumpfile -g with recent kernels
Date: Tue, 7 Aug 2012 15:24:09 +0900

> Hello HATAYAMA-san,
> 
> On Thu, 02 Aug 2012 17:23:05 +0900 (JST)
> HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> wrote:
> 
>> From: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
>> Subject: Re: makedumpfile -g with recent kernels
>> Date: Thu, 2 Aug 2012 15:04:29 +0900
>> 
>> > Hello HATAYAMA-san,
>> > 
>> > On Thu, 02 Aug 2012 14:47:14 +0900 (JST)
>> > HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> wrote:
>> > 
>> >> From: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
>> >> Subject: Re: makedumpfile -g with recent kernels
>> >> Date: Thu, 2 Aug 2012 14:12:51 +0900
>> >> 
>> >> > Hello Stefan,
>> >> > 
>> >> > On Mon, 09 Jul 2012 11:17:13 +0200
>> >> > Stefan Bader <stefan.bader at canonical.com> wrote:
>> >> > 
>> >> >> Hi,
>> >> >> 
>> >> >> I am not sure whether this really is the preferred way as I heard the required
>> >> >> info now is in vmcore and vmcoreinfo would not be needed anymore. But just to
>> >> >> have it produce some output I noticed that it trips again over some member of
>> >> >> struct page that moved into some anonymous structure/union combo.
>> >> >> There was some code that was quite specific for the page.mapping case (which now
>> >> >> seems to be outside again). I changed the code to be more generic. It did fix my
>> >> >> _count problem and should also handle the mapping case (though I could not test).
>> >> >> So maybe this would be worth adding to the upstream code.
>> >> >> 
>> >> >> -Stefan
>> >> >> 
>> >> >> Please include me in cc's as I am not subscribed to this ml.
>> >> > 
>> >> > Thank you for your nice work!
>> >> > 
>> >> 
>> >> Hello Kumagai-san,
>> >> 
>> >> I want to see a whole part of Stefan's patch. Could you post it on the
>> >> ml?
>> > 
>> > This is the Stefan's patch. 
>> > 
>> 
>> Thanks, and this patch helps a lot.
>> 
>> BTW, I think we can get rid of DWARF_INFO_GET_MEMBER_OFFSET_1ST_UNION
>> path, too.
>> 
>> Thanks.
>> HATAYAMA, Daisuke
> 
> At first, I thought so. But DWARF_INFO_GET_MEMBER_OFFSET doesn't work for
> kernel 2.6.16 and 2.6.17 even after applying Stefan's patch.
> Additionally, I couldn't find the Die of page.mapping with dwarfdump in that
> case. 
> I don't know why the Die isn't included in some vmlinuxs, anyway, it seems
> that the comment below is true.
> 
>     832         /*
>     833          * Some vmlinux(s) don't have debugging information about
>     834          * page.mapping. Then, makedumpfile assumes that there is
>     835          * "mapping" next to "private(unsigned long)" in the first
>     836          * union.
>     837          */
>     838         if (OFFSET(page.mapping) == NOT_FOUND_STRUCTURE) {
>     839                 OFFSET(page.mapping) = get_member_offset("page", NULL,
>     840                     DWARF_INFO_GET_MEMBER_OFFSET_1ST_UNION);
> 
> So DWARF_INFO_GET_MEMBER_OFFSET_1ST_UNION is still necessary for some kernels.
> 

Thanks for your explanation. I understand it. I have similar
experience where pt_regs sturcture information is missing for some
kernel debuginfo files.

Thanks.
HATAYAMA, Daisuke




More information about the kexec mailing list