Re: [PATCH -v7 0/35] tip related: not use bootmem for x86

From: Yinghai Lu
Date: Sun Feb 14 2010 - 23:52:01 EST


On 02/14/2010 06:27 PM, Benjamin Herrenschmidt wrote:
> On Wed, 2010-02-10 at 01:20 -0800, Yinghai Lu wrote:
>>
>> The reserve_early() method is list/range based and can handle vast
>> amounts of not very fragmented memory - perfect for basically all the
>> real bootmem purposes (which is to bootstrap the buddy).
>>
>> reserve_early() allocated memory could be freed into the buddy later
>> on
>> as well. The main reason why bootmem is 'destroyed' during
>> free-to-buddy
>> is because it has excessive internal bitmaps we want to free. With a
>> list/range based reserve_early() mechanism there's no such problem -
>> they can linger indefinitely and there's near zero allocation
>> management
>> overhead. "
>
> Various archs use lib/lmb.c for representing physical memory and
> doing early allocations. Might be something to extend ?

yes, could merge them later.

lmb: include memory range array, and reserved range array, and will be used till bootmem_init

early_res: is only reserved range array..., and need to be use with e820 map...
and now early_res is used to replace bootmem...

will check to make e820 to be fw_memmap and move it /kernel/fw_memmap.c

Thanks

Yinghai
--
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/