linux_dsm_epyc7002/drivers/xen
Jennifer Herbert 3f9f1c6757 xen/grant-table: add a mechanism to safely unmap pages that are in use
Introduce gnttab_unmap_refs_async() that can be used to safely unmap
pages that may be in use (ref count > 1).  If the pages are in use the
unmap is deferred and retried later.  This polling is not very clever
but it should be good enough if the cases where the delay is necessary
are rare.

The initial delay is 5 ms and is increased linearly on each subsequent
retry (to reduce load if the page is in use for a long time).

This is needed to allow block backends using grant mapping to safely
use network storage (block or filesystem based such as iSCSI or NFS).

The network storage driver may complete a block request whilst there
is a queued network packet retry (because the ack from the remote end
races with deciding to queue the retry).  The pages for the retried
packet would be grant unmapped and the network driver (or hardware)
would access the unmapped page.

Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
2015-01-28 14:03:14 +00:00
..
events
xen-pciback xen-pciback: drop SR-IOV VFs when PF driver unloads 2014-12-04 12:42:03 +00:00
xenbus
xenfs
acpi.c
balloon.c xen: remove scratch frames for ballooned pages and m2p override 2015-01-28 14:03:10 +00:00
biomerge.c
cpu_hotplug.c
dbgp.c
efi.c efi: dmi: add support for SMBIOS 3.0 UEFI configuration table 2014-11-05 09:03:16 +01:00
evtchn.c
fallback.c
features.c
gntalloc.c
gntdev.c xen/grant-table: add helpers for allocating pages 2015-01-28 14:03:12 +00:00
grant-table.c xen/grant-table: add a mechanism to safely unmap pages that are in use 2015-01-28 14:03:14 +00:00
Kconfig
Makefile
manage.c
mcelog.c
pci.c xen/pci: Allocate memory for physdev_pci_device_add's optarr 2014-10-23 16:24:02 +01:00
pcpu.c
platform-pci.c
privcmd.c
privcmd.h xen: Add privcmd device driver 2011-12-16 13:29:31 -05:00
swiotlb-xen.c Revert "swiotlb-xen: pass dev_addr to swiotlb_tbl_unmap_single" 2014-12-10 14:58:35 +00:00
sys-hypervisor.c
tmem.c xen/tmem: mark xen_tmem_init() __init 2015-01-23 11:55:24 +00:00
xen-acpi-cpuhotplug.c
xen-acpi-memhotplug.c
xen-acpi-pad.c
xen-acpi-processor.c xen-acpi-processor: Don't display errors when we get -ENOSYS 2014-05-23 12:34:00 -04:00
xen-balloon.c xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
xen-scsiback.c xen/grant-table: add helpers for allocating pages 2015-01-28 14:03:12 +00:00
xen-selfballoon.c
xen-stub.c