Re: [PATCH] x86: put initial_pg_tables into bss -v2
From: H. Peter Anvin
Date: Sun Mar 01 2009 - 04:23:25 EST
Yinghai Lu wrote:
Impact: cleanup
Don't use ram after _end blindly for pagetables.
put those pg table into bss
also remove init_pg_tables_start/end tricks all around
v2: keep initial page table up to 512M only.
I really, REALLY, don't like this. This is going right back to the
situation which we had before the dynamically generated page tables. We
now have yet another hardcoded limit, and big chunk of wasted memory in
case we don't need to allocate it all.
* Modulo rounding, each megabyte assigned here requires a kilobyte of
* memory, which is currently unreclaimed.
You're potentially throwing away half a megabyte, which is a major deal
on a small embedded system!
No, this is garbage. If you're insisting on getting rid of the brk-like
allocation patterns, then you have to get an alternative dynamic
allocator available to the pre-paging code. Now, there is no reason we
couldn't execute C code before enabling paging, although the code would
either have to be PIC or linked at the physical address.
-hpa
--
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/