Re: [RFC PATCH 0/14] Parallel memory initialisation

From: Andrew Morton
Date: Thu Apr 16 2015 - 03:19:47 EST


On Mon, 13 Apr 2015 11:16:52 +0100 Mel Gorman <mgorman@xxxxxxx> wrote:

> Memory initialisation

I wish we didn't call this "memory initialization". Because memory
initialization is memset(), and that isn't what we're doing here.

Installation? Bringup?

> had been identified as one of the reasons why large
> machines take a long time to boot. Patches were posted a long time ago
> that attempted to move deferred initialisation into the page allocator
> paths. This was rejected on the grounds it should not be necessary to hurt
> the fast paths to parallelise initialisation. This series reuses much of
> the work from that time but defers the initialisation of memory to kswapd
> so that one thread per node initialises memory local to that node. The
> issue is that on the machines I tested with, memory initialisation was not
> a major contributor to boot times. I'm posting the RFC to both review the
> series and see if it actually helps users of very large machines.
>
> ...
>
> 15 files changed, 507 insertions(+), 98 deletions(-)

Sadface at how large and complex this is. I'd hoped the way we were
going to do this was by bringing up a bit of memory to get booted up,
then later on we just fake a bunch of memory hot-add operations. So
the new code would be pretty small and quite high-level.
--
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/