|
|
Log in / Subscribe / Register

virtio-mem: paravirtualized memory

From:  David Hildenbrand <david-AT-redhat.com>
To:  linux-kernel-AT-vger.kernel.org
Subject:  [PATCH v3 00/15] virtio-mem: paravirtualized memory
Date:  Thu, 7 May 2020 12:31:04 +0200
Message-ID:  <20200507103119.11219-1-david@redhat.com>
Cc:  linux-mm-AT-kvack.org, virtio-dev-AT-lists.oasis-open.org, virtualization-AT-lists.linux-foundation.org, kvm-AT-vger.kernel.org, Michal Hocko <mhocko-AT-kernel.org>, Andrew Morton <akpm-AT-linux-foundation.org>, "Michael S . Tsirkin" <mst-AT-redhat.com>, David Hildenbrand <david-AT-redhat.com>, Sebastien Boeuf <sebastien.boeuf-AT-intel.com>, Samuel Ortiz <samuel.ortiz-AT-intel.com>, Robert Bradford <robert.bradford-AT-intel.com>, Luiz Capitulino <lcapitulino-AT-redhat.com>, Pankaj Gupta <pankaj.gupta.linux-AT-gmail.com>, teawater <teawaterz-AT-linux.alibaba.com>, Igor Mammedov <imammedo-AT-redhat.com>, "Dr . David Alan Gilbert" <dgilbert-AT-redhat.com>, Alexander Duyck <alexander.h.duyck-AT-linux.intel.com>, Alexander Potapenko <glider-AT-google.com>, Anshuman Khandual <anshuman.khandual-AT-arm.com>, Anthony Yznaga <anthony.yznaga-AT-oracle.com>, Dan Williams <dan.j.williams-AT-intel.com>, Dave Young <dyoung-AT-redhat.com>, Jason Wang <jasowang-AT-redhat.com>, Johannes Weiner <hannes-AT-cmpxchg.org>, Juergen Gross <jgross-AT-suse.com>, Konrad Rzeszutek Wilk <konrad.wilk-AT-oracle.com>, Len Brown <lenb-AT-kernel.org>, Mel Gorman <mgorman-AT-techsingularity.net>, Michal Hocko <mhocko-AT-suse.com>, Mike Rapoport <rppt-AT-linux.ibm.com>, Oscar Salvador <osalvador-AT-suse.com>, Oscar Salvador <osalvador-AT-suse.de>, Pavel Tatashin <pasha.tatashin-AT-soleen.com>, Pavel Tatashin <pavel.tatashin-AT-microsoft.com>, Pingfan Liu <kernelfans-AT-gmail.com>, Qian Cai <cai-AT-lca.pw>, "Rafael J. Wysocki" <rafael-AT-kernel.org>, "Rafael J. Wysocki" <rjw-AT-rjwysocki.net>, Stefan Hajnoczi <stefanha-AT-redhat.com>, Vlastimil Babka <vbabka-AT-suse.cz>, Wei Yang <richard.weiyang-AT-gmail.com>
Archive-link:  Article

This series is based on latest linux-next. The patches are located at:
    https://github.com/davidhildenbrand/linux.git virtio-mem-v3

Patch #1 - #10 where contained in v2 and only contain minor modifications
(mostly smaller fixes). The remaining patches are new and contain smaller
optimizations.

Details about virtio-mem can be found in the cover letter of v2 [1]. A
basic QEMU implementation was posted yesterday [2].

[1] https://lkml.kernel.org/r/20200311171422.10484-1-david@re...
[2] https://lkml.kernel.org/r/20200506094948.76388-1-david@re...

v2 -> v3:
- "virtio-mem: Paravirtualized memory hotplug"
-- Include "linux/slab.h" to fix build issues
-- Remember the "region_size", helpful for patch #11
-- Minor simplifaction in virtio_mem_overlaps_range()
-- Use notifier_from_errno() instead of notifier_to_errno() in notifier
-- More reliable check for added memory when unloading the driver
- "virtio-mem: Allow to specify an ACPI PXM as nid"
-- Also print the nid
- Added patch #11-#15

Cc: Sebastien Boeuf <sebastien.boeuf@intel.com>
Cc: Samuel Ortiz <samuel.ortiz@intel.com>
Cc: Robert Bradford <robert.bradford@intel.com>
Cc: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: teawater <teawaterz@linux.alibaba.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>

David Hildenbrand (15):
  virtio-mem: Paravirtualized memory hotplug
  virtio-mem: Allow to specify an ACPI PXM as nid
  virtio-mem: Paravirtualized memory hotunplug part 1
  virtio-mem: Paravirtualized memory hotunplug part 2
  mm: Allow to offline unmovable PageOffline() pages via
    MEM_GOING_OFFLINE
  virtio-mem: Allow to offline partially unplugged memory blocks
  mm/memory_hotplug: Introduce offline_and_remove_memory()
  virtio-mem: Offline and remove completely unplugged memory blocks
  virtio-mem: Better retry handling
  MAINTAINERS: Add myself as virtio-mem maintainer
  virtio-mem: Add parent resource for all added "System RAM"
  virtio-mem: Drop manual check for already present memory
  virtio-mem: Unplug subblocks right-to-left
  virtio-mem: Use -ETXTBSY as error code if the device is busy
  virtio-mem: Try to unplug the complete online memory block first

 MAINTAINERS                     |    7 +
 drivers/acpi/numa/srat.c        |    1 +
 drivers/virtio/Kconfig          |   17 +
 drivers/virtio/Makefile         |    1 +
 drivers/virtio/virtio_mem.c     | 1962 +++++++++++++++++++++++++++++++
 include/linux/memory_hotplug.h  |    1 +
 include/linux/page-flags.h      |   10 +
 include/uapi/linux/virtio_ids.h |    1 +
 include/uapi/linux/virtio_mem.h |  208 ++++
 mm/memory_hotplug.c             |   81 +-
 mm/page_alloc.c                 |   26 +
 mm/page_isolation.c             |    9 +
 12 files changed, 2314 insertions(+), 10 deletions(-)
 create mode 100644 drivers/virtio/virtio_mem.c
 create mode 100644 include/uapi/linux/virtio_mem.h

-- 
2.25.3



Copyright © 2020, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds