Re: [RFC] bootmem for 2.5

William Lee Irwin III
2001-12-15T13:34:25Z

On Fri, 2 Nov 2001, William Irwin wrote:
>> [...] According to testing, this patch appears to save somewhere
>> between 8KB and 2MB on i386 PC's versus the bitmap-based bootmem
>> allocator.

On Sat, Dec 15, 2001 at 07:05:45AM +0100, Ingo Molnar wrote:
> exactly where do these savings come from? The bootmem allocator frees its
> bitmaps in free_all_bootmem().

I'm not entirely sure of the reason for the 2MB report, but it is the
highest of the numbers that came back from #kernelnewbies testers.

In the common (i386) case, it's microscopic, and it's always a direct
result of tracking allocations at address granularity as opposed to page
granularity. The mainline bootmem (which I'm sure you yourself are quite
familiar with =) tracks allocations at page granularity and maintains
additional state for the last allocation in order to merge successive
small allocations. There are other architectures (IA64) where larger
differences are seen. The small memory savings are a nice side effect,
but the primary benefit is intended to be less work being needed to
initialize the allocator.

As a side note, I'm interested in your general opinion regarding the
code, especially given your prior involvement with this subsystem.

Thanks,
Bill