Re: [PATCH 04/13] x86, mm: Revert back good_end setting for 64bit

From: Eric W. Biederman
Date: Fri Oct 05 2012 - 20:28:15 EST


"H. Peter Anvin" <hpa@xxxxxxxxx> writes:

> On 10/05/2012 02:32 PM, Eric W. Biederman wrote:
>> Yinghai Lu <yinghai@xxxxxxxxxx> writes:
>>
>>> On Fri, Oct 5, 2012 at 2:04 PM, Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote:
>>>>>> Is there a git commit that explains what the 'big range' problem is?
>>>>
>>>> At least on x86_64 this was recently tested and anywhere below 4G is
>>>> good, and there is a patch floating around somewhere to remove this
>>>> issue.
>>>
>>> patch for kernel or kexec-tools?
>>
>> kernel.
>>
>> The sgi guys needed a kdump kernel with 1G of ram to dump their all of
>> the memory on one of their crazy large machines and so investigated
>> this.
>>
>> Basically they found that a kdump kernel loaded anywhere < 4G worked,
>> the only change that was needed was to relaxy the 896M hard code.
>>
>> In one test they had a kdump kernel loaded above 2G.
>>
>
> Seriously, any case where we can't load anywhere in physical ram on x86-64 is a
> bug. i386 is another matter.

As I recall there are data structures like the IDT that only have a
32bit base address.

According to the bzImage header we don't support ramdisks above 4G.
I think we also have a 32bit address for the kernel command line
in the bzImage header.

In the case of kdump in particular there is a need for DMAable
memory and in general that means memory below 4G. So as long
as we only support one memory extent for kdump it makes sense
for that segment to be below 4G.

For a normal x86_64 kernel which gets to use most of the memory it
definitely should be loadable anywhere in memory.

Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/