From: Thomas Renninger <trenn@suse.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: yinghai@kernel.org, Simon Horman <horms@verge.net.au>,
kexec@lists.infradead.org, x86@kernel.org, vgoyal@redhat.com
Subject: Re: [PATCH 0/3] Make use of new memmap= kernel parameter syntax
Date: Wed, 30 Jan 2013 17:03:42 +0100 [thread overview]
Message-ID: <201301301703.42601.trenn@suse.de> (raw)
In-Reply-To: <bfc13f3d-3ee2-4b7c-8d25-04718536a05a@email.android.com>
On Wednesday, January 30, 2013 06:40:46 AM H. Peter Anvin wrote:
> The right thing to do as I have discussed with the people involved is to
> modify the memory map data structure to have a new memory type ID for
> memory which is to be dumped. That eliminates the need to put all this
> info into the command line.
As said before..., after looking closely into this I am convinced that
passing a kexec-tools modified e820 table makes things unnecessary complex.
So I suggest to still pass the original e820 table and kexec-tools
only needs to pass the memory to use (usable) where the kdump kernel
resides in via memmap=X@Y.
This:
- heavily cleans up the unnecesary reserved memory passing via memmap=
- still provides a clean way of passing a valid e820 table through boot
structures (no Linux kernel made up e820 type passing)
- fixes mmconf and possible other bugs
- provides the kdump kernel with all availabe info, it then knows about:
original e820 map (all reserved, usable, etc. as specified by BIOS)
kdump kernel memory area, former (crashed kernel) usable memory.
- Keeps complexity as low as possible and at one place and does not
involve kexec-tools as another error source (passing a badly
mangled e820 table or not being able to consider stuff the kernel
can when mangeling).
Having that said I will reply to this mail with two kernel patches
which implement this.
The 3 kexec-tools patches would be more or less the same, only the
string memmap=resetusable has to be exchanged to
memmap=kdump_reserve_usable
I wait until the kernel patches are in x86-tip and queued for
3.9 and will resend them then.
Please consider to apply the two kernel patches already.
But I can also resend in a new thread.
Thomas
Ah yes, here the test results:
Kdump specific boot parameter appends before:
---------------------------------------------
memmap=exactmap memmap=559K@64K memmap=261560K@638976K elfcorehdr=900536K memmap=488K#3034988K memmap=3076K#3067744K memmap=2048K#3106804K memmap=676K#3110812K
memmap=4K#3111488K memmap=476K#3111492K memmap=4K#3111968K memmap=8K#3111972K memmap=4K#3111980K memmap=4K#3111984K memmap=92K#3111988K memmap=564K#3112080K
Kdump specific boot parameter appends now:
------------------------------------------
memmap=kdump_reserve_usable,559K@64K,261560K@638976K elfcorehdr=900536K
important parts of the serial console output of the
---------------------------------------------------
modified kdump kernel:
----------------------
[691036.954392] RIP [<ffffffff812f368d>] sysrq_handle_crash+0xd/0x20
[691036.968140] RSP <ffff88042473de90>
[691036.976113] CR2: 0000000000000000
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.8.0-rc5-default+ (trenn@ett) (gcc version 4.5.1 20101208 [gcc-4_5-branch revision 167585] (SUSE Linux) ) #4 SMP Wed Jan 30 15:45:36
CET 2013
[ 0.000000] Command line: root=/dev/disk/by-id/ata-Hitachi_HDS721016CLA382_JPAB40HM2KUK6B-part6 console=tty0 console=ttyS0,57600 sysrq_always_enabled panic=100
ignore_loglevel resume=/dev/disk/by-id/ata-Hitachi_HDS721016CLA382_JPAB40HM2KUK6B-part2 apic=verbose debug vga=normal elevator=deadline sysrq=yes reset_devices
irqpoll maxcpus=1 memmap=kdump_reserve_usable,559K@64K,261560K@638976K elfcorehdr=900536K
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000100-0x000000000009bbff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009bc00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000b93dafff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000b93db000-0x00000000b9454fff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000b9455000-0x00000000bb155fff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000bb156000-0x00000000bb166fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000bb167000-0x00000000bb3d7fff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000bb3d8000-0x00000000bb6d8fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bb6d9000-0x00000000bd9fcfff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000bd9fd000-0x00000000bdbfcfff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bdbfd000-0x00000000bdcdcfff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000bdcdd000-0x00000000bdde6fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000bdde7000-0x00000000bde8ffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bde90000-0x00000000bde90fff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000bde91000-0x00000000bdf07fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bdf08000-0x00000000bdf08fff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000bdf09000-0x00000000bdf0afff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bdf0b000-0x00000000bdf0bfff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000bdf0c000-0x00000000bdf0cfff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bdf0d000-0x00000000bdf23fff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000bdf24000-0x00000000bdfb0fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bdfb1000-0x00000000bdffffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000be000000-0x00000000cfffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed19000-0x00000000fed19fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ffa20000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000083fffffff] usable
[ 0.000000] debug: ignoring loglevel setting.
[ 0.000000] e820: last_pfn = 0x840000 max_arch_pfn = 0x400000000
[ 0.000000] e820: update [mem 0x00000000-0xfffffffffffffffe] usable ==> kdump reserved
[ 0.000000] e820: remove [mem 0x00010000-0x0009bbff]
[ 0.000000] e820: remove [mem 0x27000000-0x36f6dfff]
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] e820: user-defined physical RAM map:
[ 0.000000] user: [mem 0x0000000000000100-0x000000000000ffff] kdump reserved
[ 0.000000] user: [mem 0x0000000000010000-0x000000000009bbff] usable
[ 0.000000] user: [mem 0x000000000009bc00-0x000000000009ffff] reserved
[ 0.000000] user: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[ 0.000000] user: [mem 0x0000000000100000-0x0000000026ffffff] kdump reserved
[ 0.000000] user: [mem 0x0000000027000000-0x0000000036f6dfff] usable
[ 0.000000] user: [mem 0x0000000036f6e000-0x00000000b93dafff] kdump reserved
[ 0.000000] user: [mem 0x00000000b93db000-0x00000000b9454fff] ACPI data
[ 0.000000] user: [mem 0x00000000b9455000-0x00000000bb155fff] kdump reserved
[ 0.000000] user: [mem 0x00000000bb156000-0x00000000bb166fff] reserved
[ 0.000000] user: [mem 0x00000000bb167000-0x00000000bb3d7fff] kdump reserved
[ 0.000000] user: [mem 0x00000000bb3d8000-0x00000000bb6d8fff] ACPI NVS
[ 0.000000] user: [mem 0x00000000bb6d9000-0x00000000bd9fcfff] kdump reserved
[ 0.000000] user: [mem 0x00000000bd9fd000-0x00000000bdbfcfff] ACPI NVS
[ 0.000000] user: [mem 0x00000000bdbfd000-0x00000000bdcdcfff] kdump reserved
[ 0.000000] user: [mem 0x00000000bdcdd000-0x00000000bdde6fff] reserved
[ 0.000000] user: [mem 0x00000000bdde7000-0x00000000bde8ffff] ACPI NVS
[ 0.000000] user: [mem 0x00000000bde90000-0x00000000bde90fff] ACPI data
[ 0.000000] user: [mem 0x00000000bde91000-0x00000000bdf07fff] ACPI NVS
[ 0.000000] user: [mem 0x00000000bdf08000-0x00000000bdf08fff] ACPI data
[ 0.000000] user: [mem 0x00000000bdf09000-0x00000000bdf0afff] ACPI NVS
[ 0.000000] user: [mem 0x00000000bdf0b000-0x00000000bdf0bfff] ACPI data
[ 0.000000] user: [mem 0x00000000bdf0c000-0x00000000bdf0cfff] ACPI NVS
[ 0.000000] user: [mem 0x00000000bdf0d000-0x00000000bdf23fff] ACPI data
[ 0.000000] user: [mem 0x00000000bdf24000-0x00000000bdfb0fff] ACPI NVS
[ 0.000000] user: [mem 0x00000000bdfb1000-0x00000000bdffffff] kdump reserved
[ 0.000000] user: [mem 0x00000000be000000-0x00000000cfffffff] reserved
[ 0.000000] user: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[ 0.000000] user: [mem 0x00000000fed19000-0x00000000fed19fff] reserved
[ 0.000000] user: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[ 0.000000] user: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] user: [mem 0x00000000ffa20000-0x00000000ffffffff] reserved
[ 0.000000] user: [mem 0x0000000100000000-0x000000083fffffff] kdump reserved
[ 0.000000] SMBIOS 2.6 present.
[ 0.000000] DMI: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.99.99.x040.111920110024 11/19/2011
[ 0.000000] e820: update [mem 0x00000000-0x0000ffff] usable ==> reserved
[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[ 0.000000] No AGP bridge found
...
[ 2.220298] ACPI: bus type pci registered
[ 2.229486] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xc0000000-0xcfffffff] (base 0xc0000000)
[ 2.250283] PCI: MMCONFIG at [mem 0xc0000000-0xcfffffff] reserved in E820
[ 2.349583] PCI: Using configuration type 1 for base access
...
Copying data : [100 %]
The dumpfile is saved to /root/abuild/dumps/2013-01-30-15:52/vmcore.
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2013-01-30 16:04 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-22 15:02 [PATCH 0/3] Make use of new memmap= kernel parameter syntax Thomas Renninger
2013-01-22 15:02 ` [PATCH 1/3] kexec: Split kernel_version() to also be able to pass a release string Thomas Renninger
2013-01-22 15:02 ` [PATCH 2/3] kexec x86: Extract kernel version and convert it to KERNEL_VERSION() style Thomas Renninger
2013-01-22 15:02 ` [PATCH 3/3] kexec x86: Make kexec aware of new memmap= kernel parameter possibilities Thomas Renninger
2013-01-30 4:31 ` [PATCH 0/3] Make use of new memmap= kernel parameter syntax Simon Horman
2013-01-30 5:40 ` H. Peter Anvin
2013-01-30 5:52 ` Simon Horman
2013-01-30 16:03 ` Thomas Renninger [this message]
2013-01-30 16:06 ` [PATCH 1/3] x86 e820: Check for exactmap appearance when parsing first memmap option Thomas Renninger
2013-01-30 16:09 ` H. Peter Anvin
2013-01-30 16:08 ` [PATCH 2/3] x86: Introduce Linux kernel specific E820_RESERVED_KDUMP e820 memory range type Thomas Renninger
2013-01-30 16:10 ` [PATCH 3/3] x86 e820: Introduce memmap=kdump_reserve_usable for kdump usage Thomas Renninger
2013-01-30 16:10 ` [PATCH 0/3] Make use of new memmap= kernel parameter syntax H. Peter Anvin
2013-01-30 16:13 ` [PATCH 0/3] Cleanup kdump memmap= passing and e820 usage Thomas Renninger
2013-01-30 16:16 ` H. Peter Anvin
2013-01-30 16:39 ` Thomas Renninger
2013-01-30 16:52 ` H. Peter Anvin
2013-01-30 17:41 ` Yinghai Lu
2013-01-30 18:52 ` Eric W. Biederman
2013-01-30 21:38 ` H. Peter Anvin
2013-01-30 21:57 ` Eric W. Biederman
2013-01-30 22:10 ` H. Peter Anvin
2013-01-30 22:29 ` Eric W. Biederman
2013-01-30 22:41 ` H. Peter Anvin
2013-01-30 22:49 ` Yinghai Lu
2013-01-31 0:15 ` Thomas Renninger
2013-01-31 0:18 ` H. Peter Anvin
2013-01-31 9:11 ` Thomas Renninger
2013-02-06 15:23 ` Thomas Renninger
2013-02-06 23:04 ` Eric W. Biederman
2013-02-06 23:11 ` H. Peter Anvin
2013-02-06 23:39 ` Eric W. Biederman
2013-02-08 20:08 ` Thomas Renninger
2013-02-08 20:25 ` Eric W. Biederman
2013-02-08 20:56 ` Thomas Renninger
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=201301301703.42601.trenn@suse.de \
--to=trenn@suse.de \
--cc=horms@verge.net.au \
--cc=hpa@zytor.com \
--cc=kexec@lists.infradead.org \
--cc=vgoyal@redhat.com \
--cc=x86@kernel.org \
--cc=yinghai@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.