I don't see why this is "unnecessarily complex" compared to this stuff... Thomas Renninger <trenn at suse.de> wrote: >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 at 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 at 64K memmap=261560K at 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 at 64K,261560K at 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 at 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 at 64K,261560K at 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. -- Sent from my mobile phone. Please excuse brevity and lack of formatting.