mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Itsuro Oda <oda@valinux.co.jp>
Cc: Koichi Suzuki <koichi@intellilink.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: 03 Feb 2005 02:00:51 -0700	[thread overview]
Message-ID: <m14qgu81bw.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20050203154433.18E4.ODA@valinux.co.jp>

Itsuro Oda <oda@valinux.co.jp> writes:

> Hi,
> 
> On 02 Feb 2005 08:24:03 -0700
> ebiederm@xmission.com (Eric W. Biederman) wrote:
> > 
> > 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. 
> 
> Exactly.
> 
> Please let me clarify what you are going to.
> 1) standard kernel: reserve a small contigous area for a dump kernel
>    (this is not changed as the current code)
> 2) standard kernel: export the information of valid physical memory
>    regions. (/proc/iomem or /proc/cpumem etc.)
> 3) kexec (system call?): store the information of valid physical memory
>    regions as ELF program header to the reserved area (mentioned 1)).

A better description is probably make a list of memory regions
using an ELF header data structure in user space.  
Use sys_kexec_load to put that list the dump kernel and a little
big of glue code in the reserved area.  The glue code includes
a hash of all of everything so it can all be validated before
use.

> 4) standard kernel: when a panic occur, append (ex.) the register
>    information as ELF note after the memory information (if necessary).
>    and jump new kernel

Record the register information as ELF notes in a per cpu data
area.  The per cpu data areas are known and enumerated in
the list of memory regions.  The kernel knows nothing about
the ELF header etc.

> 5) dump kernel: export all valid physical memory (and saved register
>    information) to the user. (as /dev/oldmem /proc/vmcore ?)

Or in user space, by just mmaping /dev/mem. That is part of the
current conversation.   The only real point for putting that code in
the kernel (besides momentum) is it is a cheap way to get the exact
data structures of the kernel you are using.  But since:
(a) it does not look like any primary kernel data structures need to
    be examined.
(b) even simple compile options like SMP/NOSMP are enough to change
    the layout of the data structures.
I think there is a pretty good case for moving all of the work to
user space.  But you still need a kernel that loads and
runs in the reserved area.

> Is this correct ?  one question: how the dump kernel know the saved
> area of ELF headers ?

A command line parameter will be passed.  Probably
elfcorehdr=xxx 

> one more question: I don't understand what the 640K backup area is. 
> Please let me know why it is necessary.

In practice I think we can kill it on x86.  It is necessary (at least
a subset of it is) if we want to boot a SMP kernel.  As cpu must
start running code in the first 1M of the address space.  In addition
some architectures have exceptions vectors and or other data
structures at fixed locations in memory so in the general case a
backup area is required.  So building the infrastructure to handle
backup areas is needed even, even if we later stop using it on
x86.

The other reason for the 640K backup area is the IBM guys were having
problems without it.   The fact that you don't need it is a good
indication that it is unnecessary.

Eric

  reply	other threads:[~2005-02-03  9:03 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 [this message]
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=m14qgu81bw.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

all inboxes | Powered by JetHome®