kexec -l could not find a free area of memory locate_hole failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 12, 2010 at 11:31:50PM +0000, Brian Cockrell wrote:
> 
> I received the message "Could not find a free area of memory of 21b1a000 bytes...Locate_hole failed" while attempting to perform a kexec-l on an image file of approximately 550mb.  Hardware is x86 with 4GB memory.  Kernel is 2.6.34 and booted via Livecd.  free is showing 3047324kb free memory available.  Dmesg is showing nothing.  I am able to boot a 400mb image. Suggested debug steps?

Hi Brian,

I would guess that the problem is that the code can't find
a (continuous) range of physical memory to place the image.

I'm a bit rust on this portion of the code, but as I understand
it kexec works out the memory segments that it needs
and tries to place each of them in a valid "System RAM" region.

The code that is failing would be a good place to start,
kexec/kexec.c:locate_hole() of kexec-tools.

The memory regions are set up by inspecting /sys/firmware,
or if that fails, using /proc/iomem. See
kexec/arch/i386/kexec-x86-common.c:get_memory_ranges_sysfs().

550Mb, is a rather large image. I'm curious to know why.




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux