From: ebiederm@xmission.com (Eric W. Biederman)
To: Koichi Suzuki <koichi@intellilink.co.jp>
Cc: Itsuro Oda <oda@valinux.co.jp>, Vivek Goyal <vgoyal@in.ibm.com>,
Andrew Morton <akpm@osdl.org>, fastboot <fastboot@lists.osdl.org>,
lkml <linux-kernel@vger.kernel.org>,
Maneesh Soni <maneesh@in.ibm.com>,
Hariprasad Nellitheertha <hari@in.ibm.com>,
suparna bhattacharya <suparna@in.ibm.com>
Subject: Re: [Fastboot] [PATCH] Reserving backup region for kexec based crashdumps.
Date: 02 Feb 2005 08:24:03 -0700 [thread overview]
Message-ID: <m1brb39e98.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <4200861B.7040807@intellilink.co.jp>
Koichi Suzuki <koichi@intellilink.co.jp> writes:
> Itsuro Oda wrote:
> > Hi,
> > I can't understand why ELF format is necessary.
> > I think the only necessary information is "what physical address regions are
> > valid to read". This information is necessary for any
> > sort of dump tools. (and must get it while the system is normal.)
> > The Eric's /proc/cpumem idea sounds nice to me.
>
> I agree. Format conversion should be done in healthy system separately and we
> should restrict what to do while taking the dump as few as possible. Conversion
> from just memory image to crash/lcrash format will be very useful to use
> existing tools and experiences. I already have such tool and (if my
> administration allows) I can make such tool open. Let me do some paperwork.
The big part of the conversation that is happening right now is how
do we uncouple dependencies between the various parts as much as
possible. There is nothing here about format conversions except
as to convert weird kernel formats into a stable interface.
There are 3 pieces of code interacting.
1) The primary kernel that will call panic.
2) The kernel+initrd that takes over.
3) The user space that sets it all up (/sbin/kexec) while the primary
kernel is still in a sane state.
The goal is to make those 3 pieces as independent of each other as
reasonably possible.
So the kernel+initrd that captures a crash dump will live and execute
in a reserved area of memory. It needs to know which memory regions
are valid, and it needs to know small things like the final register
state of each cpu. For the set of valid memory regions it is the
intention to encode that as an array of ELF program headers. The
information of what the final register contents were will be encoded
as ELF notes. There will be one PT_NOTE segment per cpu that holds
the notes needed to encode a given cpu's final state. It really
does not matter to implementation that captures each cpu's final
register state which format we record the data in so using a format
designed not to change is not a problem. So all that needs
to be communicated to the kernel+initrd that captures a crash
dump is the location of an ELF header and it can figure out all of
the rest.
For the primary kernel except for remembering it's final cpu
register state as it dies it does nothing except jump to the
crash recover kernel. All of the interesting information will
be exported to user space.
/sbin/kexec is the glue that fills in the cracks. While
the primary kernel is in a sane state it sets everything up including
finding out which memory areas need to be looked at. And it stashes
it all in a reserved area of memory, that has never been the target
of DMA transfers.
The goal is to reduce the dependencies as much as possible. So
an old stable kernel can take a crash dump of a new buggy kernel.
And so that you don't have to be running the latest and greatest
user space simply to set everything up. Although it is still
better to require a user-space upgrade to cope with new
kernels than to require the crash capture kernel+initrd to
be upgraded.
Eric
next prev parent reply other threads:[~2005-02-02 15:26 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-19 7:31 [PATCH 0/29] overview Eric W. Biederman
2005-01-19 7:31 ` [PATCH 1/29] x86-rename-apic_mode_exint Eric W. Biederman
2005-01-19 7:31 ` [PATCH 2/29] x86-local-apic-fix Eric W. Biederman
2005-01-19 7:31 ` [PATCH 3/29] x86_64-e820-64bit Eric W. Biederman
2005-01-19 7:31 ` [PATCH 4/29] x86-i8259-shutdown Eric W. Biederman
2005-01-19 7:31 ` [PATCH 5/29] x86_64-i8259-shutdown Eric W. Biederman
2005-01-19 7:31 ` [PATCH 6/29] x86-apic-virtwire-on-shutdown Eric W. Biederman
2005-01-19 7:31 ` [PATCH 7/29] x86_64-apic-virtwire-on-shutdown Eric W. Biederman
2005-01-19 7:31 ` [PATCH 8/29] vmlinux-fix-physical-addrs Eric W. Biederman
2005-01-19 7:31 ` [PATCH 9/29] x86-vmlinux-fix-physical-addrs Eric W. Biederman
2005-01-19 7:31 ` [PATCH 10/29] x86_64-vmlinux-fix-physical-addrs Eric W. Biederman
2005-01-19 7:31 ` [PATCH 11/29] x86_64-entry64 Eric W. Biederman
2005-01-19 7:31 ` [PATCH 12/29] x86-config-kernel-start Eric W. Biederman
2005-01-19 7:31 ` [PATCH 13/29] x86_64-config-kernel-start Eric W. Biederman
2005-01-19 7:31 ` [PATCH 14/29] kexec-kexec-generic Eric W. Biederman
2005-01-19 7:31 ` [PATCH 15/29] x86-machine_shutdown Eric W. Biederman
2005-01-19 7:31 ` [PATCH 16/29] x86-kexec Eric W. Biederman
2005-01-19 7:31 ` [PATCH 17/29] x86-crashkernel Eric W. Biederman
2005-01-19 7:31 ` [PATCH 18/29] x86_64-machine_shutdown Eric W. Biederman
2005-01-19 7:31 ` [PATCH 19/29] x86_64-kexec Eric W. Biederman
2005-01-19 7:31 ` [PATCH 20/29] x86_64-crashkernel Eric W. Biederman
2005-01-19 7:31 ` [PATCH 21/29] kexec-ppc-support Eric W. Biederman
2005-01-19 7:31 ` [PATCH 22/29] x86-crash_shutdown-nmi-shootdown Eric W. Biederman
2005-01-19 7:31 ` [PATCH 23/29] x86-crash_shutdown-snapshot-registers Eric W. Biederman
2005-01-19 7:31 ` [PATCH 24/29] x86-crash_shutdown-apic-shutdown Eric W. Biederman
2005-01-19 7:31 ` [PATCH 25/29] crashdump-documentation Eric W. Biederman
2005-01-19 7:31 ` [PATCH 26/29] crashdump-memory-preserving-reboot-using-kexec Eric W. Biederman
2005-01-19 7:31 ` [PATCH 27/29] crashdump-routines-for-copying-dump-pages Eric W. Biederman
2005-01-19 7:31 ` [PATCH 28/29] crashdump-elf-format-dump-file-access Eric W. Biederman
2005-01-19 7:31 ` [PATCH 29/29] crashdump-linear-raw-format-dump-file-access Eric W. Biederman
2005-01-19 12:25 ` [PATCH 19/29] x86_64-kexec Andi Kleen
2005-01-20 15:50 ` Adrian Bunk
2005-01-20 18:06 ` [Fastboot] " Eric W. Biederman
2005-01-19 12:10 ` [PATCH 16/29] x86-kexec Hariprasad Nellitheertha
2005-01-19 18:17 ` [Fastboot] " Eric W. Biederman
2005-01-25 3:54 ` [PATCH 6/29] x86-apic-virtwire-on-shutdown Len Brown
2005-01-25 6:39 ` Eric W. Biederman
2005-01-25 7:36 ` Len Brown
2005-01-25 9:11 ` Eric W. Biederman
2005-01-25 3:32 ` [PATCH 4/29] x86-i8259-shutdown Len Brown
2005-01-25 3:59 ` Dave Jones
2005-01-25 6:30 ` Eric W. Biederman
2005-01-25 8:35 ` Eric W. Biederman
2005-01-25 9:43 ` Barry K. Nathan
2005-01-25 10:14 ` Eric W. Biederman
2005-01-25 10:49 ` Barry K. Nathan
2005-01-25 11:40 ` Eric W. Biederman
2005-01-25 20:57 ` Barry K. Nathan
2005-01-25 12:12 ` Eric W. Biederman
2005-01-25 22:02 ` Barry K. Nathan
2005-01-25 22:12 ` Eric W. Biederman
2005-01-26 13:27 ` Sytse Wielinga
2005-01-26 14:06 ` Eric W. Biederman
2005-01-26 14:43 ` Sytse Wielinga
2005-01-26 15:12 ` Eric W. Biederman
2005-01-26 22:58 ` Barry K. Nathan
2005-01-21 7:55 ` [PATCH] Reserving backup region for kexec based crashdumps Vivek Goyal
2005-01-21 7:54 ` [Fastboot] " Eric W. Biederman
2005-01-21 10:57 ` Vivek Goyal
2005-01-21 11:13 ` Eric W. Biederman
2005-01-23 10:14 ` Vivek Goyal
2005-01-26 17:21 ` Eric W. Biederman
2005-01-26 19:15 ` Andrew Morton
2005-01-27 13:45 ` Vivek Goyal
2005-01-27 20:45 ` Eric W. Biederman
2005-01-28 13:06 ` Vivek Goyal
2005-01-28 20:29 ` Eric W. Biederman
2005-02-01 15:17 ` Vivek Goyal
2005-02-01 15:26 ` Eric W. Biederman
2005-02-02 7:10 ` Itsuro Oda
2005-02-02 7:49 ` Koichi Suzuki
2005-02-02 15:24 ` Eric W. Biederman [this message]
2005-02-03 7:28 ` Itsuro Oda
2005-02-03 9:00 ` Eric W. Biederman
2005-02-03 23:18 ` Itsuro Oda
2005-02-04 0:41 ` Eric W. Biederman
2005-02-04 1:07 ` Itsuro Oda
2005-02-16 8:49 ` [PATCH] /proc/cpumem Itsuro Oda
2005-02-16 13:58 ` Eric W. Biederman
2005-02-17 0:43 ` Itsuro Oda
2005-02-17 9:55 ` [Fastboot] " Eric W. Biederman
2005-02-18 6:17 ` Itsuro Oda
2005-02-18 7:22 ` Eric W. Biederman
2005-02-17 0:17 ` YAMAMOTO Takashi
2005-02-17 5:58 ` [Fastboot] " Vivek Goyal
2005-02-17 6:18 ` Itsuro Oda
2005-02-17 18:18 ` Dave Jones
2005-02-17 19:46 ` [Fastboot] " Eric W. Biederman
2005-02-02 14:26 ` [Fastboot] [PATCH] Reserving backup region for kexec based crashdumps Eric W. Biederman
2005-02-02 10:07 ` Vivek Goyal
2005-02-02 15:42 ` Eric W. Biederman
2005-02-03 14:47 ` Vivek Goyal
2005-02-01 8:04 ` Koichi Suzuki
2005-02-01 9:06 ` Eric W. Biederman
2005-02-02 7:42 ` Itsuro Oda
2005-02-02 14:45 ` Eric W. Biederman
2005-02-04 0:23 ` Itsuro Oda
2005-02-04 1:55 ` Eric W. Biederman
2005-02-02 9:08 ` Koichi Suzuki
2005-02-02 14:31 ` Eric W. Biederman
2005-02-03 7:02 ` Hirokazu Takahashi
2005-02-03 9:01 ` Vivek Goyal
2005-02-03 9:37 ` Hirokazu Takahashi
2005-02-03 10:07 ` Eric W. Biederman
2005-02-03 9:13 ` Eric W. Biederman
2005-02-03 10:10 ` Hirokazu Takahashi
2005-02-03 10:39 ` Eric W. Biederman
2005-02-04 10:05 ` Hirokazu Takahashi
2005-02-04 11:17 ` Eric W. Biederman
2005-02-04 12:02 ` Eric W. Biederman
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=m1brb39e98.fsf@ebiederm.dsl.xmission.com \
--to=ebiederm@xmission.com \
--cc=akpm@osdl.org \
--cc=fastboot@lists.osdl.org \
--cc=hari@in.ibm.com \
--cc=koichi@intellilink.co.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=maneesh@in.ibm.com \
--cc=oda@valinux.co.jp \
--cc=suparna@in.ibm.com \
--cc=vgoyal@in.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