Re: [PATCH 07/10] bootmem: add free_bootmem_late

Tejun Heo
2009-10-28T08:00:21Z

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