From: Vivek Goyal <vgoyal@redhat.com>
To: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>,
ebiederm@xmission.com, hbabu@us.ibm.com,
mahesh@linux.vnet.ibm.com, oomichi@mxs.nes.nec.co.jp,
horms@verge.net.au, heiko.carstens@de.ibm.com,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-s390@vger.kernel.org
Subject: Re: [patch 0/9] kdump: Patch series for s390 support
Date: Fri, 15 Jul 2011 10:38:20 -0400 [thread overview]
Message-ID: <20110715143820.GG3428@redhat.com> (raw)
In-Reply-To: <1310739717.10789.31.camel@br98xy6r>
On Fri, Jul 15, 2011 at 04:21:57PM +0200, Michael Holzheu wrote:
> On Thu, 2011-07-14 at 14:05 -0400, Vivek Goyal wrote:
> > On Thu, Jul 14, 2011 at 01:55:32PM -0400, Vivek Goyal wrote:
> >
> > [..]
> > > > > So we first try to take purgatory path which does the checksum and is
> > > > > consistent with other architectures. If that does not work in case
> > > > > of hard hang, you always have the option of IPLing the stand alone tool
> > > > > later manually.
> > > >
> > > > How are we suddenly on the purgatory path again? The code that gets
> > > > control in case of a hard crash + IPL is the stand-alone dump tool,
> > > > not the purgatory code.
> > >
> > > I think that's the biggest contetion point. From the start of discussion
> > > you have this hardcoded requirement that the moment panic() happens
> > > you are jumping to some IPL code and that's what I am questioning. Why
> > > can't you execute some more code after panic() (purgatory), before
> > > you jump to IPL code (only if you have to).
> > >
> >
> > In your parlance of shutdown actions, I think it is equivalnet to saying
> > that "kdump" is a shutdown action and that that means is that for specific
> > trigger points we will execute "crash_kexec()" function which will try
> > to capture the dump.
> >
> > In user space I think one can modify the kexec-tools infrastrucuture a
> > bit so that one is able to define an entry point in case checksum of
> > loaded segment failes. Once you are loding kdump kernel, you can define
> > that entry point. (And this would be jump to IPL etc.).
>
> You mean to jump back into the crashed kernel code in case the kdump
> checksum failed?
No. I meant jump to entry point so that one can IPL the dump tools. I
am not sure how do initiate the IPL after panic. Similar thing needs
to be done here. If it is as simple as jumping to some location in
low memory, then purgatory should be able to do that. I think we
shall have to figure out the details here.
Basically I am saying that purgatory detected that kdump kernel is
corrupted. In x86_64 we spin in inifinite loop as we don't have a
backup plan. But s390 has a backup plan of being able to IPL dump
tools.
Or in first step we can keep it even simpler. We can spin in infinite
loop and wait for either hypervisor watchdog to kick in for automatic
IPL or wait for operator intervention. That would simplify it even
further.
>
> In the meantime I was looking a bit more into the kexec code to find
> out, what we would have to do, if we use the preallocated ELF header as
> you want us to do. With our actual solution, we do not have to reserve
> any special areas for the kdump kernel. Now we have to reserve the ELF
> header. So what are the options?
ELF headers go into same memory area as kdump kenrel. Anyway you are
doing to reserve memory for kdump kernel and ELF headers will go
right there.
Once you swap the kernel I think ELF headers continue to remain in
original location. Or may be you can move ELF headers too depending
on what turns out to be easier.
>
> The x86 implementation uses a kernel parameter "memmap=exactmap" to do
> that.
It tells second kernel to use a memory map defined on command line.
Kexec-tools prepares this memory map with the help of memap= options. This
is to limit the memory second kernel use to boot into so that it does not
overwrite in any piece of memory used by first kernel.
In your case I think you shall have to do little more so that second
kernel also seems some of the lower memory areas so that later swapping
of kernel can be done.
>
> On ia64 - if I understood the code correctly - they seem to pass a kdump
> segment "EFI_memmap" to the kdump kernel that contains information about
> all loaded kexec segments. With this segment they can find out the size
> of the ELF header segment in the kdump kernel and then do the memory
> reservation at boot time. Is that correct?
Sorry, I don't know the details of IA64. May be somebody else on the list
can pitch in with some clarifications here.
Thanks
Vivek
next prev parent reply other threads:[~2011-07-15 14:38 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-04 17:09 [patch 0/9] kdump: Patch series for s390 support Michael Holzheu
2011-07-04 17:09 ` [patch 1/9] kdump: Add KEXEC_CRASH_CONTROL_MEMORY_LIMIT Michael Holzheu
2011-07-04 17:09 ` [patch 2/9] kdump: Add machine_kexec_finish() Michael Holzheu
2011-07-04 17:09 ` [patch 3/9] kdump: Make kimage_load_crash_segment() weak Michael Holzheu
2011-07-04 17:09 ` [patch 4/9] kdump: Initialize vmcoreinfo note at startup Michael Holzheu
2011-07-04 17:09 ` [patch 5/9] kdump: Allow vmcore ELF header to be created in new kernel Michael Holzheu
2011-07-04 17:09 ` [patch 6/9] kdump: Merge set_vmcore_list_offsets_elf_32/64() Michael Holzheu
2011-07-04 17:09 ` [patch 7/9] kdump: Trigger kdump via panic notifier chain on s390 Michael Holzheu
2011-07-04 17:09 ` [patch 8/9] s390: kdump backend code Michael Holzheu
2011-07-04 17:09 ` [patch 9/9] kexec-tools: Add s390 kdump support Michael Holzheu
2011-07-05 20:26 ` [patch 0/9] kdump: Patch series for s390 support Vivek Goyal
2011-07-06 9:24 ` Michael Holzheu
2011-07-07 19:33 ` Vivek Goyal
2011-07-08 9:01 ` Martin Schwidefsky
2011-07-11 14:42 ` Vivek Goyal
2011-07-11 15:56 ` Martin Schwidefsky
2011-07-13 16:02 ` Vivek Goyal
2011-07-13 16:46 ` Martin Schwidefsky
2011-07-13 16:59 ` Michael Holzheu
2011-07-13 17:19 ` Vivek Goyal
2011-07-13 20:00 ` Vivek Goyal
2011-07-14 7:18 ` Martin Schwidefsky
2011-07-14 17:55 ` Vivek Goyal
2011-07-14 18:05 ` Vivek Goyal
2011-07-15 14:21 ` Michael Holzheu
2011-07-15 14:38 ` Vivek Goyal [this message]
2011-07-15 15:43 ` Michael Holzheu
2011-07-18 12:31 ` Vivek Goyal
2011-07-18 14:00 ` Michael Holzheu
2011-07-18 14:19 ` Vivek Goyal
2011-07-18 14:44 ` Michael Holzheu
2011-07-18 15:25 ` Vivek Goyal
2011-07-18 18:03 ` Michael Holzheu
2011-07-19 15:04 ` Vivek Goyal
2011-07-20 8:00 ` Martin Schwidefsky
2011-07-20 9:28 ` Michael Holzheu
2011-07-20 20:24 ` Vivek Goyal
2011-07-20 19:25 ` Vivek Goyal
2011-07-21 14:58 ` Michael Holzheu
2011-07-21 21:22 ` Vivek Goyal
2011-07-22 9:33 ` Michael Holzheu
2011-07-25 16:02 ` Vivek Goyal
2011-07-26 9:44 ` Michael Holzheu
2011-07-22 15:26 ` Michael Holzheu
2011-07-25 18:07 ` Vivek Goyal
2011-07-26 9:32 ` Michael Holzheu
2011-07-15 13:56 ` Michael Holzheu
2011-07-15 14:18 ` Vivek Goyal
2011-07-18 13:57 ` Martin Schwidefsky
2011-07-08 13:04 ` Michael Holzheu
2011-07-11 15:36 ` Vivek Goyal
2011-07-12 17:29 ` Michael Holzheu
2011-07-08 14:02 ` Michael Holzheu
2011-07-11 14:07 ` Vivek Goyal
2011-07-11 15:06 ` Michael Holzheu
2011-07-09 17:58 ` Valdis.Kletnieks
2011-07-12 13:52 ` Vivek Goyal
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=20110715143820.GG3428@redhat.com \
--to=vgoyal@redhat.com \
--cc=ebiederm@xmission.com \
--cc=hbabu@us.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=holzheu@linux.vnet.ibm.com \
--cc=horms@verge.net.au \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mahesh@linux.vnet.ibm.com \
--cc=oomichi@mxs.nes.nec.co.jp \
--cc=schwidefsky@de.ibm.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