Re: [RFC PATCH] rework memory hotplug onlining

2017-03-21 Thread Dan Williams
On Fri, Mar 17, 2017 at 6:20 AM, Michal Hocko wrote: > On Wed 15-03-17 10:13:47, Michal Hocko wrote: > [...] >> It seems that all this is just started by the semantic introduced by >> 9d99aaa31f59 ("[PATCH] x86_64: Support memory hotadd without sparsemem") >> quite some time ago. When the movable

Re: [RFC PATCH] rework memory hotplug onlining

2017-03-17 Thread Michal Hocko
On Wed 15-03-17 10:13:47, Michal Hocko wrote: [...] > It seems that all this is just started by the semantic introduced by > 9d99aaa31f59 ("[PATCH] x86_64: Support memory hotadd without sparsemem") > quite some time ago. When the movable onlinining has been introduced it > just built on top of this

Re: [RFC PATCH] rework memory hotplug onlining

2017-03-16 Thread Michal Hocko
On Thu 16-03-17 17:19:34, Kani, Toshimitsu wrote: > On Thu, 2017-03-16 at 09:54 +0100, Michal Hocko wrote: > > On Wed 15-03-17 23:08:14, Kani, Toshimitsu wrote: > > > On Wed, 2017-03-15 at 10:13 +0100, Michal Hocko wrote: > : > > > > - zone = page_zone(pfn_to_page(valid_start)); > > > > > >

Re: [RFC PATCH] rework memory hotplug onlining

2017-03-16 Thread Kani, Toshimitsu
On Thu, 2017-03-16 at 09:54 +0100, Michal Hocko wrote: > On Wed 15-03-17 23:08:14, Kani, Toshimitsu wrote: > > On Wed, 2017-03-15 at 10:13 +0100, Michal Hocko wrote: : > > > - zone = page_zone(pfn_to_page(valid_start)); > > > > Please do not remove the fix made in a96dfddbcc043. zone needs to > >

Re: [RFC PATCH] rework memory hotplug onlining

2017-03-16 Thread Michal Hocko
On Wed 15-03-17 23:08:14, Kani, Toshimitsu wrote: > On Wed, 2017-03-15 at 10:13 +0100, Michal Hocko wrote: > : > > @@ -388,39 +389,44 @@ static ssize_t show_valid_zones(struct device > > *dev, > >   struct device_attribute *attr, char > > *buf) > >  { > >   struct memor

Re: [RFC PATCH] rework memory hotplug onlining

2017-03-15 Thread Kani, Toshimitsu
On Wed, 2017-03-15 at 10:13 +0100, Michal Hocko wrote: : > @@ -388,39 +389,44 @@ static ssize_t show_valid_zones(struct device > *dev, >   struct device_attribute *attr, char > *buf) >  { >   struct memory_block *mem = to_memory_block(dev); > - unsigned long sta

ZONE_NORMAL vs. ZONE_MOVABLE (was: Re: [RFC PATCH] rework memory hotplug onlining)

2017-03-15 Thread Michal Hocko
On Wed 15-03-17 11:48:37, Vitaly Kuznetsov wrote: > Michal Hocko writes: [...] > Speaking about long term approach, Not really related to the patch but ok (I hope this will not distract from the original intention here)... > (I'm not really familiar with the history of memory zones code so plea

Re: [RFC PATCH] rework memory hotplug onlining

2017-03-15 Thread Vitaly Kuznetsov
Michal Hocko writes: > Hi, > this is a follow up for [1]. In short the current semantic of the memory > hotplug is awkward and hard/impossible to use from the udev to online > memory as movable. The main problem is that only the last memblock or > the adjacent to highest movable memblock can be o

[RFC PATCH] rework memory hotplug onlining

2017-03-15 Thread Michal Hocko
Hi, this is a follow up for [1]. In short the current semantic of the memory hotplug is awkward and hard/impossible to use from the udev to online memory as movable. The main problem is that only the last memblock or the adjacent to highest movable memblock can be onlined as movable: : Let's simula