i've done some testing of the bits Peter has merged into x86/bootmem in -tip, and it crashes during early bootup with: [ 0.000000] #8 [0000012000 - 000001a000] BOOTMAP ==> [0000012000 - 000001a000] [ 0.000000] bootmem alloc of 4194304 bytes failed! [ 0.000000] Kernel panic - not syncing: Out of memory [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.33-rc7-tip-00770-g525df42-dirty #16566 [ 0.000000] Call Trace: [ 0.000000] [] panic+0x75/0x146 [ 0.000000] [] ___alloc_bootmem_node+0x0/0x60 [ 0.000000] [] __alloc_bootmem+0xb/0xd [ 0.000000] [] sparse_init+0x34/0x2d9 [ 0.000000] [] ? reserve_bootmem+0x20/0x22 [ 0.000000] [] paging_init+0x43/0x52 [ 0.000000] [] setup_arch+0x583/0x615 [ 0.000000] [] ? clockevents_register_notifier+0x3e/0x4a [ 0.000000] [] start_kernel+0xf3/0x349 [ 0.000000] [] x86_64_start_reservations+0x7d/0x81 [ 0.000000] [] x86_64_start_kernel+0x14c/0x15b [ 0.000000] Rebooting in 1 seconds..Press any key to enter the menu full bootlog below, config attached. Thanks, Ingo [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.33-rc7-tip-00770-g525df42-dirty (mingo@sirius) (gcc version 4.4.1 20091008 (Red Hat 4.4.1-20) (GCC) ) #16566 SMP Thu Feb 11 18:35:25 CET 2010 [ 0.000000] Command line: root=/dev/sda6 earlyprintk=ttyS0,115200 console=ttyS0,115200 debug initcall_debug sysrq_always_enabled ignore_loglevel selinux=0 nmi_watchdog=0 panic=1 3 [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f800 (usable) [ 0.000000] BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved) [ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) [ 0.000000] BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) [ 0.000000] BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS) [ 0.000000] BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data) [ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) [ 0.000000] BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved) [ 0.000000] bootconsole [earlyser0] enabled [ 0.000000] debug: ignoring loglevel setting. [ 0.000000] NX (Execute Disable) protection: active [ 0.000000] e820 update range: 0000000000000000 - 0000000000001000 (usable) ==> (reserved) [ 0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable) [ 0.000000] last_pfn = 0x3fff0 max_arch_pfn = 0x400000000 [ 0.000000] MTRR default type: uncachable [ 0.000000] MTRR fixed ranges enabled: [ 0.000000] 00000-9FFFF write-back [ 0.000000] A0000-BFFFF uncachable [ 0.000000] C0000-C7FFF write-protect [ 0.000000] C8000-FFFFF uncachable [ 0.000000] MTRR variable ranges enabled: [ 0.000000] 0 base 0000000000 mask FFC0000000 write-back [ 0.000000] 1 disabled [ 0.000000] 2 disabled [ 0.000000] 3 disabled [ 0.000000] 4 disabled [ 0.000000] 5 disabled [ 0.000000] 6 disabled [ 0.000000] 7 disabled [ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 [ 0.000000] e820 update range: 0000000000001000 - 0000000000010000 (usable) ==> (reserved) [ 0.000000] Scanning 1 areas for low memory corruption [ 0.000000] modified physical RAM map: [ 0.000000] modified: 0000000000000000 - 0000000000010000 (reserved) [ 0.000000] modified: 0000000000010000 - 000000000009f800 (usable) [ 0.000000] modified: 000000000009f800 - 00000000000a0000 (reserved) [ 0.000000] modified: 00000000000f0000 - 0000000000100000 (reserved) [ 0.000000] modified: 0000000000100000 - 000000003fff0000 (usable) [ 0.000000] modified: 000000003fff0000 - 000000003fff3000 (ACPI NVS) [ 0.000000] modified: 000000003fff3000 - 0000000040000000 (ACPI data) [ 0.000000] modified: 00000000e0000000 - 00000000f0000000 (reserved) [ 0.000000] modified: 00000000fec00000 - 0000000100000000 (reserved) [ 0.000000] initial memory mapped : 0 - 20000000 [ 0.000000] found SMP MP-table at [ffff8800000f5680] f5680 [ 0.000000] init_memory_mapping: 0000000000000000-000000003fff0000 [ 0.000000] 0000000000 - 003fff0000 page 4k [ 0.000000] kernel direct mapping tables up to 3fff0000 @ 100000-302000 [ 0.000000] (9/32 early reservations) ==> bootmem [0000000000 - 003fff0000] [ 0.000000] #0 [0001000000 - 000816f1f0] TEXT DATA BSS ==> [0001000000 - 000816f1f0] [ 0.000000] #1 [00000f5690 - 0000100000] BIOS reserved ==> [00000f5690 - 0000100000] [ 0.000000] #2 [00000f5680 - 00000f5690] MP-table mpf ==> [00000f5680 - 00000f5690] [ 0.000000] #3 [000009f800 - 00000f1400] BIOS reserved ==> [000009f800 - 00000f1400] [ 0.000000] #4 [00000f152c - 00000f5680] BIOS reserved ==> [00000f152c - 00000f5680] [ 0.000000] #5 [00000f1400 - 00000f152c] MP-table mpc ==> [00000f1400 - 00000f152c] [ 0.000000] #6 [0000010000 - 0000012000] TRAMPOLINE ==> [0000010000 - 0000012000] [ 0.000000] #7 [0000100000 - 0000300000] PGTABLE ==> [0000100000 - 0000300000] [ 0.000000] #8 [0000012000 - 000001a000] BOOTMAP ==> [0000012000 - 000001a000] [ 0.000000] bootmem alloc of 4194304 bytes failed! [ 0.000000] Kernel panic - not syncing: Out of memory [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.33-rc7-tip-00770-g525df42-dirty #16566 [ 0.000000] Call Trace: [ 0.000000] [] panic+0x75/0x146 [ 0.000000] [] ___alloc_bootmem_node+0x0/0x60 [ 0.000000] [] __alloc_bootmem+0xb/0xd [ 0.000000] [] sparse_init+0x34/0x2d9 [ 0.000000] [] ? reserve_bootmem+0x20/0x22 [ 0.000000] [] paging_init+0x43/0x52 [ 0.000000] [] setup_arch+0x583/0x615 [ 0.000000] [] ? clockevents_register_notifier+0x3e/0x4a [ 0.000000] [] start_kernel+0xf3/0x349 [ 0.000000] [] x86_64_start_reservations+0x7d/0x81 [ 0.000000] [] x86_64_start_kernel+0x14c/0x15b [ 0.000000] Rebooting in 1 seconds..Press any key to enter the menu