All of lore.kernel.org
 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
  0 siblings, 0 replies; 25+ messages in thread
From: David Hildenbrand @ 2019-04-24 10:25 UTC (permalink / raw)
  To: linux-mm
  Cc: linux-kernel, linux-ia64, linuxppc-dev, linux-s390, linux-sh,
	akpm, Dan Williams, David Hildenbrand, Alex Deucher,
	Andrew Banman, Andy Lutomirski, Arun KS, Baoquan He,
	Benjamin Herrenschmidt, Borislav Petkov, Christophe Leroy,
	Chris Wilson, Dave Hansen, David S. Miller, Fenghua Yu,
	Greg Kroah-Hartman, Heiko Carstens, H. Peter Anvin, Ingo Molnar,
	Ingo Molnar, Jonathan Cameron, Joonsoo Kim, Kirill A. Shutemov,
	Logan Gunthorpe, Mark Brown, Martin Schwidefsky, Masahiro Yamada,
	Mathieu Malaterre, Michael Ellerman, Michal Hocko, Mike Rapoport,
	Mike Rapoport, mike.travis, Nicholas Piggin, Oscar Salvador,
	Oscar Salvador, Paul Mackerras, Pavel Tatashin, Pavel Tatashin,
	Peter Zijlstra, Qian Cai, Rafael J. Wysocki, Rich Felker,
	Rob Herring, Thomas Gleixner, Tony Luck, Vasily Gorbik, Wei Yang,
	Wei Yang, Yoshinori Sato

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] 25+ messages in thread

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

Thread overview: 25+ 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 ` 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   ` David Hildenbrand
2019-04-24 10:25   ` David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 2/7] s390x/mm: Implement arch_remove_memory() David Hildenbrand
2019-04-24 10:25   ` David Hildenbrand
2019-04-24 10:25   ` David Hildenbrand
2019-04-26  9:11   ` David Hildenbrand
2019-04-26  9:11     ` 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   ` 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   ` David Hildenbrand
2019-04-24 10:25   ` 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   ` David Hildenbrand
2019-04-24 10:25   ` 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   ` David Hildenbrand
2019-04-24 10:25   ` David Hildenbrand
2019-04-24 10:25 ` [PATCH v1 7/7] mm/memory_hotplug: Make unregister_memory_block_under_nodes() never fail David Hildenbrand
2019-04-24 10:25   ` David Hildenbrand
2019-04-24 10:25   ` David Hildenbrand

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.