[Crash-utility] [PATCH] kmem, snap: iomem/ioport display and vmcore snapshot support

HATAYAMA Daisuke d.hatayama at jp.fujitsu.com
Wed Mar 14 00:31:34 UTC 2012


From: Dave Anderson <anderson at redhat.com>
Subject: Re: [Crash-utility] [PATCH] kmem, snap: iomem/ioport display and vmcore snapshot support
Date: Tue, 13 Mar 2012 10:17:20 -0400 (EDT)

> 
> 
> ----- Original Message -----
>> Some days ago I was in a situation that I had to convert vmcore in
>> kvmdump format into ELF since some extension module we have locally
>> can be used only on relatively old crash utility, around version 4,
>> but such old crash utility cannot handle kvmdump format.
> 
> That's a pretty weak argument -- what did crash version ~4 have
> that the latest version does not?  I don't recall ever removing 
> any functionality w/respect to extension module without replacing
> it with a better interface.  In other words, why can't you fix your
> local extension module?  I need a better reason for modifying
> the snap module other than that.   
> 

I don't know the detail of the local extension module. The man who
requested a help to me explained that his module gets information of
vmcore using crash (gdb) scripts and retrives values from the scripts'
output via pipe. While old crash behaves well, recent ones appear to
hang in the situation where both reading and writing sides wait each
other. Is there any difference of behaviour on communication with gdb?

Anyway it's natural that we should modify the extension module, and
we'll do that soon. The patch for snap command was a workaround, but
there's merit to the patch that it makes it possible to use it as
handy vmcore conversion tool, not just as live kernel dump command, so
I've posted this here. By this, snap command will become able to
convert all the format currently crash supports into ELF. Though I
have yet to test this, this can convert lkcd foramt into ELF, for
example. Someone might want to use this for vmcore not suppoted by
Makedumpfile.

> 
> Why reinvent the wheel?  The "dev -i" command does all of the above, plus 
> gives you the resource structure address:
>  
>   crash> dev -i
>       RESOURCE        RANGE    NAME
>   ffffffff80312080  0000-ffff  PCI IO
<cut>

I myself thought it's strange if it's not present. Before making my
patch, I did minimum check by searching crash source code for related
symbols such as ``resource'', but I didn't find anything. Now I see
some symbols found with the same keyword. I think I did something
wrong at that time.

Thanks.
HATAYAMA, Daisuke




More information about the Crash-utility mailing list