Re: [PATCH] Simple brk allocator for very early allocations

From: Jeremy Fitzhardinge
Date: Sat Feb 28 2009 - 01:30:29 EST


Andrew Morton wrote:
On Fri, 27 Feb 2009 17:51:17 -0800 Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

This series adds a very simple brk-like allocator for very early
allocations. By default it extends the bss segment, starting at _end.

This is used to allocate x86-32's initial head_32.S pagetable, removing
init_pg_table_start/end and pg0, replacing them with brk allocations.

Changelog fails to provide a reason for this?

Well, the whole thing is just a generalization of what the 32-bit pagetable builder does anyway, to make it more useful. With the brk allocator in place, there's no reason for head_32.S to do it again.

dmi_alloc() is also changed to use extend_brk.

Seems a large patchset just to clean up DMI a bit ;)

A few patches could be folded together. But its pretty small really...

I assume that xen needs this? domU or dom0

I can make use of it in Xen to remove a bunch of static arrays. I'm pretty sure there's quite a few places around the kernel which could make use of this facility. My kernel has 900k of bss; how much of that is stuff that 1) could be allocated, and 2) not actually being used at runtime? A lot of things which are compile-time sized, hash tables, log buffers, etc, could be runtime sized instead.

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