Re: [PATCH RFC] x86: add brk allocation for very, very early allocations

From: Jeremy Fitzhardinge
Date: Fri Feb 27 2009 - 14:27:17 EST


H. Peter Anvin wrote:
Jeremy Fitzhardinge wrote:
unsigned int boot_cpu_id __read_mostly;
+__initdata unsigned long _brk_start, _brk_end;


Better yet, initialize _brk_start and _brk_end statically:

extern const char _end[];
__initdata unsigned long _brk_start = (unsigned long)&_end;
__initdata unsigned long _brk_end = (unsigned long)&_end;

That way it's available from the first instruction, and we can fully
remove the x86-32 init_pg_tables_end and replace it with _brk_end (thus
putting the initial page tables in the brk.)

Yes. It doesn't work for Xen (the domain builder puts the initrd and Xen-built pagetable immediately after the kernel's bss), but its no problem to move the brk in that case.

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/