linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC v1 0/3] powerpc/memtrace: Don't offline memory blocks via offline_pages()
@ 2019-12-17 12:38 David Hildenbrand
  2019-12-17 12:38 ` [PATCH RFC v1 1/3] powerpc/memtrace: Enforce power of 2 for memory buffer size David Hildenbrand
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: David Hildenbrand @ 2019-12-17 12:38 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-mm, David Hildenbrand, Allison Randal, Andrew Morton,
	Anshuman Khandual, Balbir Singh, Benjamin Herrenschmidt,
	Jens Axboe, Michael Ellerman, Michal Hocko, Oscar Salvador,
	Paul Mackerras, Rashmica Gupta, Thomas Gleixner

This RFC is based on linux-next and
- 2 patches from "PATCH RFC v4 00/13] virtio-mem: paravirtualized memory"
 -> "mm: Allow to offline unmovable PageOffline() pages via
     MEM_GOING_OFFLINE" [1]
 -> "mm/memory_hotplug: Introduce offline_and_remove_memory()" [2]
- "mm/memory_hotplug: Don't free usage map when removing a re-added early
   section" [3]

A branch with all patches (kept updated) is available at:
	https://github.com/davidhildenbrand/linux.git memtrace

Stop using offline_pages() to offline memory blocks. Allocate the memory
blocks using alloc_contig_pages() first and offline+remove the allcoated
memory blocks using a clean MM interface. Offlining of allocated memory is
made possible by using PageOffline() in combination with a memory notifier
(similar to virto-mem).

Note: In the future, we might want to switch to only removing/readding the
page tables of the allocated memory (while still marking it PageOffline()).
However, that might have other implications, and requires work from PPC
people (IOW, I won't fiddle with that :) ).

[1] https://lkml.kernel.org/r/20191212171137.13872-8-david@redhat.com
[2] https://lkml.kernel.org/r/20191212171137.13872-10-david@redhat.com
[3] https://lkml.kernel.org/r/20191217104637.5509-1-david@redhat.com


David Hildenbrand (3):
  powerpc/memtrace: Enforce power of 2 for memory buffer size
  powerpc/memtrace: Factor out readding memory into memtrace_free_node()
  powerpc/memtrace: Don't offline memory blocks via offline_pages()

 arch/powerpc/platforms/powernv/Kconfig    |   1 +
 arch/powerpc/platforms/powernv/memtrace.c | 217 ++++++++++++++--------
 2 files changed, 136 insertions(+), 82 deletions(-)

-- 
2.23.0



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

end of thread, other threads:[~2019-12-17 12:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-17 12:38 [PATCH RFC v1 0/3] powerpc/memtrace: Don't offline memory blocks via offline_pages() David Hildenbrand
2019-12-17 12:38 ` [PATCH RFC v1 1/3] powerpc/memtrace: Enforce power of 2 for memory buffer size David Hildenbrand
2019-12-17 12:38 ` [PATCH RFC v1 2/3] powerpc/memtrace: Factor out readding memory into memtrace_free_node() David Hildenbrand
2019-12-17 12:38 ` [PATCH RFC v1 3/3] powerpc/memtrace: Don't offline memory blocks via offline_pages() David Hildenbrand
2019-12-17 12:42 ` [PATCH RFC v1 0/3] " David Hildenbrand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox