| Date | Sun, 14 Feb 2010 20:50:33 -0800 | From | Yinghai Lu <> | Subject | Re: [PATCH -v7 0/35] tip related: not use bootmem for x86 |
| |
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
|