Re: [PATCH] Have __free_pages_memory() free in larger chunks.

From: Johannes Weiner
Date: Sun Sep 15 2013 - 13:03:57 EST


On Tue, Sep 10, 2013 at 01:57:24PM -0500, Nathan Zimmer wrote:
> From: Robin Holt <robin.m.holt@xxxxxxxxx>
>
> On large memory machines it can take a few minutes to get through
> free_all_bootmem().
>
> Currently, when free_all_bootmem() calls __free_pages_memory(), the
> number of contiguous pages that __free_pages_memory() passes to the
> buddy allocator is limited to BITS_PER_LONG. BITS_PER_LONG was originally
> chosen to keep things similar to mm/nobootmem.c. But it is more
> efficient to limit it to MAX_ORDER.
>
> base new change
> 8TB 202s 172s 30s
> 16TB 401s 351s 50s
>
> That is around 1%-3% improvement on total boot time.
>
> This patch was spun off from the boot time rfc Robin and I had been
> working on.
>
> Signed-off-by: Robin Holt <robin.m.holt@xxxxxxxxx>
> Signed-off-by: Nathan Zimmer <nzimmer@xxxxxxx>
> To: "H. Peter Anvin" <hpa@xxxxxxxxx>
> To: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Linux Kernel <linux-kernel@xxxxxxxxxxxxxxx>
> Cc: Linux MM <linux-mm@xxxxxxxxx>
> Cc: Rob Landley <rob@xxxxxxxxxxx>
> Cc: Mike Travis <travis@xxxxxxx>
> Cc: Daniel J Blueman <daniel@xxxxxxxxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
> Cc: Mel Gorman <mgorman@xxxxxxx>

Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
--
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/