linux/include/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
..
interface x86/xen: properly retrieve NMI reason 2015-01-13 09:39:50 +00:00
acpi.h xen / ACPI: notify xen when reduced hardware sleep is available 2013-07-31 14:22:35 +02:00
balloon.h xen/balloon: set a mapping for ballooned out pages 2013-08-09 11:23:24 -04:00
events.h xen/events: support threaded irqs for interdomain event channels 2014-09-23 13:36:19 +00:00
features.h
grant_table.h xen/grant-table: add a mechanism to safely unmap pages that are in use 2015-01-28 14:03:14 +00:00
hvc-console.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
hvm.h xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
page.h xen: allow balloon driver to use more than one memory region 2011-09-29 11:12:10 -04:00
platform_pci.h xen/pvhvm: Remove the xen_platform_pci int. 2014-01-03 14:54:53 -05:00
swiotlb-xen.h Merge remote-tracking branch 'stefano/swiotlb-xen-9.1' into stable/for-linus-3.13 2013-11-08 16:10:48 -05:00
tmem.h xen: tmem: enable Xen tmem shim to be built/loaded as a module 2013-04-30 17:04:01 -07:00
xen-ops.h xen: Silence compiler warnings 2014-07-18 21:24:03 +01:00
xen.h xen/pvh/x86: Define what an PVH guest is (v3). 2014-01-06 10:43:58 -05:00
xenbus_dev.h xenbus: Add support for xenbus backend in stub domain 2012-05-21 09:53:18 -04:00
xenbus.h xen: remove DEFINE_XENBUS_DRIVER() macro 2014-10-06 10:27:57 +01:00