linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/7] mm/memory_hotplug: Factor out memory block device handling
@ 2019-04-24 10:25 David Hildenbrand
  2019-04-24 10:25 ` [PATCH v1 1/7] mm/memory_hotplug: Simplify and fix check_hotplug_memory_range() David Hildenbrand
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: David Hildenbrand @ 2019-04-24 10:25 UTC (permalink / raw)
  To: linux-mm
  Cc: Oscar Salvador, Michal Hocko, linux-ia64, linux-sh,
	Peter Zijlstra, Dave Hansen, Heiko Carstens, Chris Wilson,
	Masahiro Yamada, Pavel Tatashin, Rich Felker, Arun KS,
	H. Peter Anvin, Ingo Molnar, Rafael J. Wysocki, Qian Cai,
	linux-s390, Baoquan He, Logan Gunthorpe, David Hildenbrand,
	Mike Rapoport, Ingo Molnar, Fenghua Yu, Pavel Tatashin,
	Vasily Gorbik, Rob Herring, mike.travis@hpe.com, Nicholas Piggin,
	Martin Schwidefsky, Mark Brown, Borislav Petkov, Andy Lutomirski,
	Jonathan Cameron, Dan Williams, Wei Yang, Joonsoo Kim,
	Oscar Salvador, Tony Luck, Yoshinori Sato, Andrew Banman,
	Mathieu Malaterre, Greg Kroah-Hartman, linux-kernel,
	Mike Rapoport, Thomas Gleixner, Wei Yang, Alex Deucher,
	Paul Mackerras, akpm, linuxppc-dev, David S. Miller,
	Kirill A. Shutemov

We only want memory block devices for memory to be onlined/offlined
(add/remove from the buddy). This is required so user space can
online/offline memory and kdump gets notified about newly onlined memory.

Only such memory has the requirement of having to span whole memory blocks.
Let's factor out creation/removal of memory block devices. This helps
to further cleanup arch_add_memory/arch_remove_memory() and to make
implementation of new features (e.g. sub-section hot-add) easier.

Patch 1 makes sure the memory block size granularity is always respected.
Patch 2 implements arch_remove_memory() on s390x. Patch 3 prepares
arch_remove_memory() to be also called without CONFIG_MEMORY_HOTREMOVE.
Patch 4,5 and 6 factor out creation/removal of memory block devices.
Patch 7 gets rid of some unlikely errors that could have happened, not
removinf links between memory block devices and nodes, previously brought
up by Oscar.

Did a quick sanity test with DIMM plug/unplug, making sure all devices
and sysfs links properly get added/removed. Compile tested on s390x and
x86-64.

Based on git://git.cmpxchg.org/linux-mmots.git

David Hildenbrand (7):
  mm/memory_hotplug: Simplify and fix check_hotplug_memory_range()
  s390x/mm: Implement arch_remove_memory()
  mm/memory_hotplug: arch_remove_memory() and __remove_pages() with
    CONFIG_MEMORY_HOTPLUG
  mm/memory_hotplug: Create memory block devices after arch_add_memory()
  mm/memory_hotplug: Drop MHP_MEMBLOCK_API
  mm/memory_hotplug: Remove memory block devices before
    arch_remove_memory()
  mm/memory_hotplug: Make unregister_memory_block_under_nodes() never
    fail

 arch/ia64/mm/init.c            |   2 -
 arch/powerpc/mm/mem.c          |   2 -
 arch/s390/mm/init.c            |  15 +++--
 arch/sh/mm/init.c              |   2 -
 arch/x86/mm/init_32.c          |   2 -
 arch/x86/mm/init_64.c          |   2 -
 drivers/base/memory.c          | 109 +++++++++++++++++++--------------
 drivers/base/node.c            |  27 +++-----
 include/linux/memory.h         |   6 +-
 include/linux/memory_hotplug.h |  10 ---
 include/linux/node.h           |   7 +--
 mm/memory_hotplug.c            |  42 +++++--------
 mm/sparse.c                    |   6 --
 13 files changed, 100 insertions(+), 132 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-04-26  9:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-24 10:25 [PATCH v1 0/7] mm/memory_hotplug: Factor out memory block device handling David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 1/7] mm/memory_hotplug: Simplify and fix check_hotplug_memory_range() David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 2/7] s390x/mm: Implement arch_remove_memory() David Hildenbrand
2019-04-26  9:11   ` David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 3/7] mm/memory_hotplug: arch_remove_memory() and __remove_pages() with CONFIG_MEMORY_HOTPLUG David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 4/7] mm/memory_hotplug: Create memory block devices after arch_add_memory() David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 5/7] mm/memory_hotplug: Drop MHP_MEMBLOCK_API David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 6/7] mm/memory_hotplug: Remove memory block devices before arch_remove_memory() David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 7/7] mm/memory_hotplug: Make unregister_memory_block_under_nodes() never fail David Hildenbrand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).