kexec/kdump crash kernel 10MB ZONE_DMA

SUJIT V sujit.linux at
Thu Feb 19 13:08:24 EST 2009

On an x86_64 platform the crash kernel boot (32b kernel) panic's
during the boot during device initialization due to failed kmalloc()
and the the oom_killer() failing to free mem.

The memory that is setup for the crash kernel to use is 32MB. It was
working fine up until we added a new kernel module.  This seems to
have tipped the balance in memory allocations for kernel code, and the
ZONE allocater.

The addition of the kernel module cause the "init.ramfs" size encoded
in the header section of vmlinux to increases. So its observed that
the capture kernel boot was OK till the init.ramfs size was below some

Its harder for us to bump up the 32MB to a higher value (although we
see that it seems to solve the problem). Instead, we tried reducing
the ZONE_DMA memory from 16MB to 10MB and things work fine.

What are your thoughts on going w/ this 10MB ZONE_DMA approach?  We
don't have any ISA devices w/ the 16MB dma addr limitations, etc. that
we care about in our system.

Pl let us know if you have any suggestions/thoughts, etc.


More information about the kexec mailing list