Re: [HMM 01/16] mm/memory/hotplug: add memory type parameter to arch_add/remove_memory

From: Jerome Glisse
Date: Fri Apr 07 2017 - 10:58:08 EST


On Fri, Apr 07, 2017 at 04:45:04PM +0200, Michal Hocko wrote:
> On Fri 07-04-17 10:32:49, Jerome Glisse wrote:
> > On Fri, Apr 07, 2017 at 02:13:49PM +0200, Michal Hocko wrote:
> > > On Wed 05-04-17 16:40:11, Jérôme Glisse wrote:
> > > > When hotpluging memory we want more information on the type of memory.
> > > > This is to extend ZONE_DEVICE to support new type of memory other than
> > > > the persistent memory. Existing user of ZONE_DEVICE (persistent memory)
> > > > will be left un-modified.
> > >
> > > My current hotplug rework [1] is touching this path as well. It is not
> > > really clear from the chage why you are changing this and what are the
> > > further expectations of MEMORY_DEVICE_PERSISTENT. Infact I have replaced
> > > for_device with want__memblock [2]. I plan to repost shortly but I would
> > > like to understand your modifications more to reduce potential conflicts
> > > in the code. Why do you need to distinguish different types of memory
> > > anyway.
> > >
> > > [1] http://lkml.kernel.org/r/20170330115454.32154-1-mhocko@xxxxxxxxxx
> > > [2] the current patchset is in git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
> > > branch attempts/rewrite-mem_hotplug-WIP
> >
> > This is needed for UNADDRESSABLE memory type introduced in patch 3 and
> > the arch specific bits are in patch 4. Basicly for UNADDRESSABLE memory
> > i do not want the arch code to create a linear mapping for the range
> > being hotpluged. Adding memory_type in this patch allow to distinguish
> > between different type of ZONE_DEVICE.
>
> Why don't you use __add_pages directly then?

That's a possibility, i wanted to keep the arch code in the loop in case
some arch wanted to do something specific. But it is unlikely to ever be
use outside x86 and i don't think we will want to do anything more than
skipping linear mapping.

Note that however for CDM when doing it with ZONE_DEVICE (i am gonna
post an RFC for that) maybe the powerpc folks will want to know the
memory type ie what kind of ZONE_DEVICE this is. I don't think they need
it but i am not sure if there is anything specific needed for their
next gen power 9 in respect of device memory.


Andrew if Michal think it is better to not use arch_add_memory directly
for my case than i can respin HMM patchset. Let me know.

(Patch 1 and 4 would be drop, patch 3 and 14 would need updates from
top of my head).

Cheers,
Jérôme