[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170313092145.GG31518@dhcp22.suse.cz>
Date: Mon, 13 Mar 2017 10:21:45 +0100
From: Michal Hocko <mhocko@...nel.org>
To: Reza Arbab <arbab@...ux.vnet.ibm.com>
Cc: Igor Mammedov <imammedo@...hat.com>,
Heiko Carstens <heiko.carstens@...ibm.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>, linux-mm@...ck.org,
Andrew Morton <akpm@...ux-foundation.org>,
Greg KH <gregkh@...uxfoundation.org>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
David Rientjes <rientjes@...gle.com>,
Daniel Kiper <daniel.kiper@...cle.com>,
linux-api@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
linux-s390@...r.kernel.org, xen-devel@...ts.xenproject.org,
linux-acpi@...r.kernel.org, qiuxishi@...wei.com,
toshi.kani@....com, xieyisheng1@...wei.com, slaoub@...il.com,
iamjoonsoo.kim@....com, vbabka@...e.cz,
Zhang Zhen <zhenzhang.zhang@...wei.com>,
Yasuaki Ishimatsu <yasu.isimatu@...il.com>,
Tang Chen <tangchen@...fujitsu.com>
Subject: Re: WTH is going on with memory hotplug sysf interface (was: Re:
[RFC PATCH] mm, hotplug: get rid of auto_online_blocks)
On Fri 10-03-17 13:00:37, Reza Arbab wrote:
> On Fri, Mar 10, 2017 at 04:53:33PM +0100, Michal Hocko wrote:
> >OK, so while I was playing with this setup some more I probably got why
> >this is done this way. All new memblocks are added to the zone Normal
> >where they are accounted as spanned but not present.
>
> It's not always zone Normal. See zone_for_memory(). This leads to a
> workaround for having to do online_movable in descending block order.
> Instead of this:
>
> 1. probe block 34, probe block 33, probe block 32, ...
> 2. online_movable 34, online_movable 33, online_movable 32, ...
>
> you can online_movable the first block before adding the rest:
I do I enforce that behavior when the probe happens automagically?
> 1. probe block 32, online_movable 32
> 2. probe block 33, probe block 34, ...
> - zone_for_memory() will cause these to start Movable
> 3. online 33, online 34, ...
> - they're already in Movable, so online_movable is equivalentr
>
> I agree with your general sentiment that this stuff is very nonintuitive.
My criterion for nonintuitive is probably different because I would call
this _completely_unusable_. Sorry for being so loud about this but the
more I look into this area the more WTF code I see. This has seen close
to zero review and seems to be building up more single usecase code on
top of previous. We need to change this, seriously!
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists