Re: [PATCH] mm: meminit: Finish initialisation of struct pages before basic setup

From: Mel Gorman
Date: Thu May 07 2015 - 18:52:38 EST


On Thu, May 07, 2015 at 03:09:32PM -0700, Andrew Morton wrote:
> On Thu, 7 May 2015 08:25:18 +0100 Mel Gorman <mgorman@xxxxxxx> wrote:
>
> > Waiman Long reported that 24TB machines hit OOM during basic setup when
> > struct page initialisation was deferred. One approach is to initialise memory
> > on demand but it interferes with page allocator paths. This patch creates
> > dedicated threads to initialise memory before basic setup. It then blocks
> > on a rw_semaphore until completion as a wait_queue and counter is overkill.
> > This may be slower to boot but it's simplier overall and also gets rid of a
> > section mangling which existed so kswapd could do the initialisation.
>
> Seems a reasonable compromise. It makes a bit of a mess of the patch
> sequencing.
>
> Have some tweaklets:
>

The tweaks are prefectly reasonable. As for the patch sequencing, I'm ok
with adding the patch on top if you are because that preserves the testing
history. If you're unhappy, I can shuffle it into a better place and resend
the full series that includes all the fixes so far.

Thanks.

--
Mel Gorman
SUSE Labs
--
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/