linux/drivers/virtio
David Hildenbrand 8e5c921ca0 virtio-mem: Allow to offline partially unplugged memory blocks
Dropping the reference count of PageOffline() pages during MEM_GOING_ONLINE
allows offlining code to skip them. However, we also have to clear
PG_reserved, because PG_reserved pages get detected as unmovable right
away. Take care of restoring the reference count when offlining is
canceled.

Clarify why we don't have to perform any action when unloading the
driver. Also, let's add a warning if anybody is still holding a
reference to unplugged pages when offlining.

Tested-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/20200507140139.17083-8-david@redhat.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-06-04 15:36:52 -04:00
..
Kconfig virtio-mem: Paravirtualized memory hotunplug part 2 2020-06-04 15:36:52 -04:00
Makefile virtio-mem: Paravirtualized memory hotplug 2020-06-04 15:36:52 -04:00
virtio_balloon.c virtio-balloon: Disable free page reporting if page poison reporting is not enabled 2020-06-04 15:36:51 -04:00
virtio_input.c virtio_input: pull in slab.h 2020-04-17 06:05:29 -04:00
virtio_mem.c virtio-mem: Allow to offline partially unplugged memory blocks 2020-06-04 15:36:52 -04:00
virtio_mmio.c virtio-mmio: Delete an error message in vm_find_vqs() 2020-06-02 02:45:13 -04:00
virtio_pci_common.c virtio-pci: check name when counting MSI-X vectors 2020-02-06 03:40:26 -05:00
virtio_pci_common.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 78 2019-05-24 17:37:51 +02:00
virtio_pci_legacy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 78 2019-05-24 17:37:51 +02:00
virtio_pci_modern.c virtio: add VIRTIO_RING_NO_LEGACY 2020-06-02 02:45:13 -04:00
virtio_ring.c virtio_ring: Fix mem leak with vring_new_virtqueue() 2020-03-08 05:35:23 -04:00
virtio_vdpa.c virtio: introduce a vDPA based transport 2020-04-01 12:06:26 -04:00
virtio.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00