From: Vivek Goyal <vgoyal@in.ibm.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: 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 15:37:44 +0530 [thread overview]
Message-ID: <1107338864.11609.35.camel@2fwv946.in.ibm.com> (raw)
In-Reply-To: <m13bwgb8tb.fsf@ebiederm.dsl.xmission.com>
On Tue, 2005-02-01 at 20:56, Eric W. Biederman wrote:
> Vivek Goyal <vgoyal@in.ibm.com> writes:
>
> > Well, trying to put the already discussed ideas together. I was
> > planning to work on following design. Please comment.
> >
> > Crashed Kernel <-->Capture Kernel(or User Space) Interface:
> > ----------------------------------------------------------
> >
> > The whole idea is that Crash image is represented in ELF Core format.
> > These ELF Headers are prepared by kexec-tools user space and put in one
> > segment. Address of start of image is passed to the capture kernel(or
> > user space) using one command line (eg. crashimage=). Now either kernel
> > space or user space can parse the elf headers and extract required
> > information and export final kernel elf core image.
>
> Sounds sane. We need to make certain there is a checksum of that
> region but putting it in a separate segment should ensure that.
>
> I also think we need to look at the name crashimage= and see if we
> can find something more descriptive. But that is minor. Possibly
> elfcorehdr= We have a little while to think about that one before we
> are stuck.
"elfcorehdr=" also looks good.
>
> > > ebiederm@xmission.com wrote:
> > > If we were using an ELF header I would include one PT_NOTE program
> > > header per cpu (Giving each cpu it's own area to mess around in).
> > > And I would use one PT_LOAD segment per possible memory zone.
> > > So in the worst case (current sgi altix) (MAX_NUMNODES=256,
> > > MAX_NR_ZONES=3, MAX_NR_CPUS=1024) 256*3+1024 = 1792 program
> > > headers. At 56 bytes per 64bit program header that is 100352 bytes
> > > or 98KiB. A little bit expensive. A tuned data structure with
> > > 64bit base and size would only consume 1792*16 = 28672 or 28KiB.
> >
> > If I prepare One elf header for each physical contiguous memory area (as
> > obtained from /proc/iomem) instead of per zone, then number of elf
> > headers will come down significantly.
>
> A clarification on terminology we are talking about struct Elf64_Phdr
> here. There is only one Elf header. That seems to be clear farther
> down.
>
Exactly. There shall be one Elf header for whole of the image. In
addition there will be one struct Elf64_Phdr, per contiguous physical
memory area. One Elf64_Phdr of PT_NOTE type for notes section and one
Elf64_Phdr for backup region.
> > I don't have any idea on number of
> > actual physically contiguous regions present per machine, but roughly
> > assuming it to be 1 per node, it will lead to 256 + 1024 = 1280 program
> > headers.At 56 bytes per 64 bit program header this will amount to 70KB.
> >
> > This is worst case estimate and on lower end machines this will require
> > much less a space. On machines as big as 1024 cpus, this should not be a
> > concern, as big machines come with big RAMs.
>
> Agreed. Size is not the primary issue. There is some clear waste
> but that is a secondary concern. Not performing a 1-1 mapping
> to the kernel data structures also seems to be a win, as the concepts
> are noticeably different.
>
> > Eric, do you still think that ELF headers are inappropriate to be passed
> > across interface boundary.
>
> I have serious concerns about the kernel generating the ELF headers
> and only delivering them after the kernel has crashed. Because
> then we run into questions of what information can be trusted. If we
> avoid that issue I am not too concerned.
I hope, all elf headers once prepared by kexec-tools need not to change
later (Cannot think of any piece of information which shall change
later). These shall be put in separate segment. And SHA-256 shall take
care of authenticity of information after crash.
>
> > Regarding Backup Region
> > -----------------------
> >
> > - Kexec user space does the reservation for backup region segment.
> > - Purgatory copies the backup data to backup region. (Already
> > implemented)
> > - A separate elf header is prepared to represent backed up memory
> > region. And "offset" field of this program header can contain the actual
> > physical address where backup contents are stored.
>
> I like that. I was thinking a virtual versus physical address
> separation. But using the offset field is much more appropriate,
> and it leaves us the potential of doing something nice like specifying
> the kernels virtual address later on. Looking exclusively at the
> offset field to know which memory addresses to dump sounds good.
> For now we should have virtual==physical==offset except for the
> backup region.
For notes section program header, virtual = physical = 0 and "offset"
shall point to crash_notes[], so that notes can directly be read by the
capture kernel (or user space).
Thanks
Vivek
next prev parent reply other threads:[~2005-02-02 9:16 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
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 [this message]
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=1107338864.11609.35.camel@2fwv946.in.ibm.com \
--to=vgoyal@in.ibm.com \
--cc=akpm@osdl.org \
--cc=ebiederm@xmission.com \
--cc=fastboot@lists.osdl.org \
--cc=hari@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maneesh@in.ibm.com \
--cc=suparna@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
all inboxes | Powered by JetHome®