How does kdump deal with trampoline allocation?
Eric W. Biederman
ebiederm at xmission.com
Tue Dec 28 02:40:08 EST 2010
"H. Peter Anvin" <hpa at zytor.com> writes:
> On 12/27/2010 04:06 PM, Vivek Goyal wrote:
>> On Mon, Dec 27, 2010 at 12:31:20PM -0800, H. Peter Anvin wrote:
>>> Hi guys,
>>> I'm planning a major overhaul of the trampoline allocation in x86, and
>>> I'm trying to understand how kdump deals with it. The trampoline has to
>>> be allocated in low memory (< 1 MiB) and obviously that doesn't include
>>> the kdump area at all.
>> Hi Peter,
>> Kdump has the concept of backup area. We backup the contents of first
>> 640KB of physical RAM in kdump reserved area and then allow kdump kernel
>> to use first 640KB of memory. So any trampoline allocation can be done
>> in low memory area without overwritting the contents of first kernel.
> OK, that's straightforward. That presumably means that the low 640K is
> marked unused in the memory map that memblock sees during early startup.
> That fits very cleanly with the patches I'm doing.
Additionally we typically start with maxcpus=1 so we don't strictly
need the trampoline to start other cpus.
More information about the kexec