Hello, On Tue, Aug 27, 2013 at 05:37:37PM +0800, Tang Chen wrote: > 1. Make memblock be able to allocate memory from low address to high address. > Also introduce low limit to prevent memblock allocating memory too low. > > 2. Improve init_mem_mapping() to support allocate page tables from low address > to high address. > > 3. Introduce "movablenode" boot option to enable and disable this functionality. > > PS: Reordering of relocate_initrd() and reserve_crashkernel() has not been done > yet. acpi_initrd_override() needs to access initrd with virtual address. So > relocate_initrd() must be done before acpi_initrd_override(). I'm expectedly happier with this approach but some overall review points. * I think patch splitting went a bit too far. e.g. it doesn't make much sense or helps anything to split "introduction of a param" from "the param doing something". * I think it's a lot more complex than necessary. Just implement a single function - memblock_alloc_bottom_up(@start) where specifying MEMBLOCK_ALLOC_ANYWHERE restores top down behavior and do memblock_alloc_bottom_up(end_of_kernel) early during boot. If the bottom up mode is set, just try allocating bottom up from the specified address and if that fails do normal top down allocation. No need to meddle with the callers. The only change necessary (well, aside from the reordering) outside memblock is adding two calls to the above function. * I don't think "order" is the right word here. "direction" probably fits a lot better. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html