Re: [PATCH 0/3] Cleanup kdump memmap= passing and e820 usage

H. Peter Anvin
2013-01-30T22:41:57Z

On 01/30/2013 02:29 PM, Eric W. Biederman wrote:
>>
>>> I think I would prefer that to call that new type RESERVED_MEM or
>>> RESERVED_CACHABLE. Being more specific is fine but dumpable certainly
>>> doesn't bring to mind what we are saying. Especially since we already
>>> communicate which areas were memory to the last kernel in an
>>> architecture generic format.
>>
>> I was thinking that marking them differently might help debugging, at
>> least, but yes, we can have a RESERVED_MEM type.
>>
>> However, Thomas does have a point that the current use of fairly small
>> positive values for Linux-defined types is a bad idea. We should use
>> negative types, or at least something north of 0x40000000 or so.
>
> Yes. It doesn't much matter in the kernel but when it because part of
> the ABI it is a real issue.
>
> Since old kernels treat any value they don't understand as reserved
> passing a modified e820 map seems reasonable to me once we have reserved
> a special linux value for it.
>

Just to prevent the possible funnies (including collisions with -errno)
that might be caused by negative numbers, I suggest we assign
Linux-specific values starting at some huge but still positive value
like 2000000000 -- that way we avoid any possible uses of negative errno
values internally in the kernel.

The bigger question is if we need a separate value from the current
E820_RESERVED_KERN. Since it is always easier to have multiple values
with the same semantics than it is to have too few, I would still prefer
we added a new E820_RESERVED_KDUMP, which would then be 2000000001.

What do you think?

-hpa