linux/arch/s390/mm
Michal Hocko 1b862aecfb mm, memory_hotplug: get rid of is_zone_device_section
Device memory hotplug hooks into regular memory hotplug only half way.
It needs memory sections to track struct pages but there is no
need/desire to associate those sections with memory blocks and export
them to the userspace via sysfs because they cannot be onlined anyway.

This is currently expressed by for_device argument to arch_add_memory
which then makes sure to associate the given memory range with
ZONE_DEVICE.  register_new_memory then relies on is_zone_device_section
to distinguish special memory hotplug from the regular one.  While this
works now, later patches in this series want to move __add_zone outside
of arch_add_memory path so we have to come up with something else.

Add want_memblock down the __add_pages path and use it to control
whether the section->memblock association should be done.
arch_add_memory then just trivially want memblock for everything but
for_device hotplug.

remove_memory_section doesn't need is_zone_device_section either.  We
can simply skip all the memblock specific cleanup if there is no
memblock for the given section.

This shouldn't introduce any functional change.

Link: http://lkml.kernel.org/r/20170515085827.16474-5-mhocko@kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
Tested-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: Daniel Kiper <daniel.kiper@oracle.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joonsoo Kim <js1304@gmail.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Reza Arbab <arbab@linux.vnet.ibm.com>
Cc: Tobias Regnery <tobias.regnery@gmail.com>
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Xishi Qiu <qiuxishi@huawei.com>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-07-06 16:24:32 -07:00
..
cmm.c s390: mm: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:35 +01:00
dump_pagetables.c s390/mm: implement 5 level pages tables 2017-06-12 16:25:54 +02:00
extmem.c s390: mm: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:35 +01:00
fault.c s390/fault: use _ASCE_ORIGIN instead of PAGE_MASK 2017-06-12 16:25:59 +02:00
gmap.c s390/mm: add __rcu annotations 2017-06-12 16:25:55 +02:00
gup.c s390/mm: implement 5 level pages tables 2017-06-12 16:25:54 +02:00
hugetlbpage.c s390/mm: implement 5 level pages tables 2017-06-12 16:25:54 +02:00
init.c mm, memory_hotplug: get rid of is_zone_device_section 2017-07-06 16:24:32 -07:00
maccess.c s390/maccess: reduce stnsm instructions 2016-02-17 09:05:04 +01:00
Makefile s390/extable: use generic search and sort routines 2016-03-22 15:36:02 -07:00
mem_detect.c s390: mm: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:35 +01:00
mmap.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-07-03 15:39:36 -07:00
page-states.c s390/kvm: Add PGSTE manipulation functions 2017-04-20 13:33:08 +02:00
pageattr.c s390/mm: implement 5 level pages tables 2017-06-12 16:25:54 +02:00
pgalloc.c s390/mm: implement 5 level pages tables 2017-06-12 16:25:54 +02:00
pgtable.c s390/mm: implement 5 level pages tables 2017-06-12 16:25:54 +02:00
vmem.c s390/mm: implement 5 level pages tables 2017-06-12 16:25:54 +02:00