Re: memblock and bootmem problems if start + size = 4GB

From: Tejun Heo
Date: Thu Dec 29 2011 - 10:58:43 EST


On Tue, Dec 20, 2011 at 10:19:18AM +0100, Michal Simek wrote:
> >Yeah, that's an inherent problem in using [) ranges but I think
> >chopping off the last page probably is simpler and more robust
> >solution. Currently, memblock_add_region() would simply ignore if
> >address range overflows but making it just ignore the last page is
> >several lines of addition. Wouldn't that be effective enough while
> >staying very simple?
> The main problem is with PFN_DOWN/UP macros and it is in __init section.
> The result will be definitely u32 type (for 32bit archs) anyway and seems to me
> better solution than ignoring the last page.

Other than being able to use one more 4k page, is there any other
benefit? Maybe others had different experiences but in my exprience
trying to extend range coverages - be it stack top/end pointers,
address ranges or whatnot - using [] ranges or special flag usually
ended up adding complexity while adding almost nothing tangible. On
extreme cases, people even carry separate valid flag to use %NULL as
valid address, which is pretty silly, IMHO. So, unless there's some
benefit that I'm missing, I still think it's an overkill. It's more
complex and difficult to test and verify. Why bother for a single


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at