Re: [RFC 4/4] Sparse initialization of struct page array.

H. Peter Anvin
2013-07-15T17:54:46Z

On 07/15/2013 10:45 AM, Nathan Zimmer wrote:
>
> I hadn't actually been very happy with having a PG_uninitialized2mib flag.
> It implies if we want to jump to 1Gb pages we would need a second flag,
> PG_uninitialized1gb, for that. I was thinking of changing it to
> PG_uninitialized and setting page->private to the correct order.
> Thoughts?
>

Seems straightforward. The bigger issue is the amount of overhead we
cause by having to check upstack for the initialization status of the
superpages.

I'm concerned, obviously, about lingering overhead that is "forever".
That being said, in the absolutely worst case we could have a counter to
the number of uninitialized pages which when it hits zero we do a static
switch and switch out the initialization code (would have to be undone
on memory hotplug, of course.)

-hpa