Messages in this thread | | | Date | Thu, 7 May 2015 23:52:26 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH] mm: meminit: Finish initialisation of struct pages before basic setup |
| |
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@suse.de> 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
| |