Re: [PATCH 00/11] x86, memblock: Allocate memory near kernel imagebefore SRAT parsed.

From: Tejun Heo
Date: Wed Sep 04 2013 - 15:22:34 EST


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