[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170314162003.GD7772@dhcp22.suse.cz>
Date: Tue, 14 Mar 2017 17:20:03 +0100
From: Michal Hocko <mhocko@...nel.org>
To: YASUAKI ISHIMATSU <yasu.isimatu@...il.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,
Reza Arbab <arbab@...ux.vnet.ibm.com>
Subject: Re: WTH is going on with memory hotplug sysf interface
On Tue 14-03-17 12:05:59, YASUAKI ISHIMATSU wrote:
>
>
> On 03/13/2017 05:19 AM, Michal Hocko wrote:
> >On Fri 10-03-17 12:39:27, Yasuaki Ishimatsu wrote:
> >>On 03/10/2017 08:58 AM, Michal Hocko wrote:
[...]
> >>># echo online_movable > /sys/devices/system/memory/memory34/state
> >>># grep . /sys/devices/system/memory/memory3?/valid_zones
> >>>/sys/devices/system/memory/memory32/valid_zones:Normal
> >>>/sys/devices/system/memory/memory33/valid_zones:Normal Movable
> >>>/sys/devices/system/memory/memory34/valid_zones:Movable Normal
> >>>
> >>
> >>I think there is no strong reason which kernel has the restriction.
> >>By setting the restrictions, it seems to have made management of
> >>these zone structs simple.
> >
> >Could you be more specific please? How could this make management any
> >easier when udev is basically racing with the physical hotplug and the
> >result is basically undefined?
> >
>
> When changing zone from NORMAL(N) to MOVALBE(M), we must resize both zones,
> zone->zone_start_pfn and zone->spanned_pages. Currently there is the
> restriction.
>
> So we just simply change:
> zone(N)->spanned_pages -= nr_pages
> zone(M)->zone_start_pfn -= nr_pages
Yes I understand how this made the implementation simpler. I was
questioning how this made user management any easier. Changing
valid zones which races with the hotplug consumer (e.g. udev) sounds
like a terrible idea to me.
Anyway, it seems that the initial assumption/restriction that all
pages have to start on the zone Normal is not really needed. I have a
preliminary patch which removes that and associates newly added pages
with a zone at the online time and it seems to be working reasonably
well. I have to iron out some corners before I post it.
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists