[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+8MBbLNO5PdsdVtwweCuGohWkns2sCijkOCj4qHjo0HptEHFg@mail.gmail.com>
Date: Fri, 8 May 2015 13:38:52 -0700
From: Tony Luck <tony.luck@...il.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>
Subject: Re: [PATCHv2 0/3] Find mirrored memory, use for boot time allocations
On Fri, May 8, 2015 at 1:03 PM, Andrew Morton <akpm@...ux-foundation.org> wrote:
> Looks good to me. What happens to these patches while ZONE_MIRROR is
> being worked on?
I think these patches can go into the kernel now while I figure
out the next phase - there is some value in just this part. We'll
have all memory <4GB mirrored to cover the kernel code/data.
Adding the boot time allocations mostly means the page structures
(in terms of total amount of memory).
> I'm wondering about phase II. What does "select kernel allocations"
> mean? I assume we can't say "all kernel allocations" because that can
> sometimes be "almost all memory". How are you planning on implementing
> this? A new __GFP_foo flag, then sprinkle that into selected sites?
Some of that is TBD - there are some clear places where we have bounded
amounts of memory that we'd like to pull into the mirror area. E.g. loadable
modules - on a specific machine an administrator can easily see which modules
are loaded, tally up the sizes, and then adjust the amount of mirrored memory.
I don't think we necessarily need to get to 100% ... if we can avoid 9/10
errors crashing the machine - that moves the reliability needle enough to
make a difference. Phase 2 may turn into phase 2a, 2b, 2c etc. as we
pick on certain areas.
Oh - they'll be some sysfs or debugfs stats too - so people can
check that they have the right amount of mirror memory under application
load. Too little and they'll be at risk because kernel allocations will
fall back to non-mirrored. Too much, and they are wasting memory.
> Will surplus ZONE_MIRROR memory be available for regular old movable
> allocations?
ZONE_MIRROR and ZONE_MOVABLE are pretty much opposites. We
only want kernel allocations in mirror memory, and we can't allow any
kernel allocations in movable (cause they'll pin it).
> I suggest you run the design ideas by Mel before getting into
> implementation.
Good idea - when I have something fit to be seen, I'll share
with Mel.
-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists