From: Dave Anderson <anderson(a)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