Messages in this thread | | | Date | Sun, 15 Sep 2013 13:03:39 -0400 | From | Johannes Weiner <> | Subject | Re: [PATCH] Have __free_pages_memory() free in larger chunks. |
| |
On Tue, Sep 10, 2013 at 01:57:24PM -0500, Nathan Zimmer wrote: > From: Robin Holt <robin.m.holt@gmail.com> > > 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@gmail.com> > Signed-off-by: Nathan Zimmer <nzimmer@sgi.com> > To: "H. Peter Anvin" <hpa@zytor.com> > To: Ingo Molnar <mingo@kernel.org> > Cc: Linux Kernel <linux-kernel@vger.kernel.org> > Cc: Linux MM <linux-mm@kvack.org> > Cc: Rob Landley <rob@landley.net> > Cc: Mike Travis <travis@sgi.com> > Cc: Daniel J Blueman <daniel@numascale-asia.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Greg KH <gregkh@linuxfoundation.org> > Cc: Yinghai Lu <yinghai@kernel.org> > Cc: Mel Gorman <mgorman@suse.de>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
| |