[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20191127085008.GM20912@dhcp22.suse.cz>
Date: Wed, 27 Nov 2019 09:50:08 +0100
From: Michal Hocko <mhocko@...nel.org>
To: Qian Cai <cai@....pw>
Cc: Pengfei Li <fly@...nel.page>,
"lixinhai.lxh@...il.com" <lixinhai.lxh@...il.com>,
akpm <akpm@...ux-foundation.org>,
mgorman <mgorman@...hsingularity.net>,
Vlastimil Babka <vbabka@...e.cz>, cl <cl@...ux.com>,
"iamjoonsoo.kim" <iamjoonsoo.kim@....com>, guro <guro@...com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>
Subject: Re: [RFC v1 00/19] Modify zonelist to nodelist v1
On Tue 26-11-19 14:04:06, Qian Cai wrote:
>
>
> > On Nov 26, 2019, at 10:41 AM, Michal Hocko <mhocko@...nel.org> wrote:
> >
> > On Tue 26-11-19 10:30:56, Qian Cai wrote:
> >>
> >>
> >>> On Nov 25, 2019, at 3:39 AM, Michal Hocko <mhocko@...nel.org> wrote:
> >>>
> >>> People do care about ZONE_MOVABLE and if there is a non-movable memory
> >>> sitting there then it is a bug. Please report that.
> >>
> >> It is trivial to test yourself if you ever care. Just pass kernelcore=
> >> to as many NUMA machines you could find, an then test if ever possible
> >> to offline those memory.
> >
> > I definitely do care if you can provide more details (ideally in a
> > separate email thread). I am using movable memory for memory hotplug
> > usecases and so far I do not remember any kernel/non-movable allocations
> > would make it in - modulo bugs when somebody might use __GFP_MOVABLE
> > when it is not appropriate.
> >
>
> I don’t think it is anything to do with __GFP_MOVABLE. It is about booting a kernel
> with either passing kernelcore= or movablecore=. Then, those ZONE_MOVABLE will
> have non-movable pages which looks like those from vmemmap_populate().
OK, I see. This looks like a bug in kernelcore/movablecore. And honestly
I wouldn't be surprised because these are hacks that should have been
removed. I have even attempted to do that because their main usecase is
mostly gone. There were some objections though...
> How do you create ZONE_MOVALBLE in this first place?
The most common usecase I work with is to use movable_node parameter
which makes whole nodes marked as hotplugable to be moved to
ZONE_MOVABLE.
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists