Messages in this thread | | | Date | Wed, 28 Oct 2009 09:00:18 +0100 | From | Tejun Heo <> | Subject | Re: [PATCH 07/10] bootmem: add free_bootmem_late |
| |
Hello,
Ingo Molnar wrote: > Hm, we are now further complicating the bootmem model. > > I think we could remove the bootmem allocator middle man altogether. > > This can be done by initializing the page allocator sooner and by > extending (already existing) 'reserve memory early on' mechanisms in > architecture code. (the reserve_early*() APIs in x86 for example) ... > reserve_early() might need some small amount of extra work before it can > be used as a generic early allocator - like adding a node field to it > (so that the buddy can then pick those ranges up in a NUMA aware > fashion) - but nothing very complex.
ISTR an attempt to initialize the kmalloc allocator much earlier during boot such that it can completely replace the bootmem allocator, which would nicely remove all the complications although it may require the kmalloc allocator to go through more complex boot strapping steps. I didn't follow how that went. Did it prove to be unworkable?
As for percpu allocator, as long as it can grab memory in NUMA aware way, changing shouldn't be a problem at all. The good thing about bootmem allocator is that it is generic and standardizes memory bootstrapping across different architectures. As long as that can be maintained, makings things simpler would be great.
Thanks.
-- tejun
| |