linux-sg2042/arch/arm/xen
David Vrabel 4e8c0c8c4b xen/privcmd: improve performance of MMAPBATCH_V2
Make the IOCTL_PRIVCMD_MMAPBATCH_V2 (and older V1 version) map
multiple frames at a time rather than one at a time, despite the pages
being non-consecutive GFNs.

xen_remap_foreign_mfn_array() is added which maps an array of GFNs
(instead of a consecutive range of GFNs).

Since per-frame errors are returned in an array, privcmd must set the
MMAPBATCH_V1 error bits as part of the "report errors" phase, after
all the frames are mapped.

Migrate times are significantly improved (when using a PV toolstack
domain).  For example, for an idle 12 GiB PV guest:

        Before     After
  real  0m38.179s  0m26.868s
  user  0m15.096s  0m13.652s
  sys   0m28.988s  0m18.732s

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2015-03-16 14:49:15 +00:00
..
Makefile xen/arm/arm64: merge xen/mm32.c into xen/mm.c 2014-12-04 12:41:53 +00:00
enlighten.c xen/privcmd: improve performance of MMAPBATCH_V2 2015-03-16 14:49:15 +00:00
grant-table.c arm/xen: remove duplicate arch_gnttab_init() function 2014-08-11 11:59:14 +01:00
hypercall.S ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
mm.c arm64: Relax licensing of arm64 Xen DMA operations 2015-01-20 18:44:23 +00:00
p2m.c xen/grant-table: pre-populate kernel unmap ops for xen_gnttab_unmap_refs() 2015-01-28 14:03:10 +00:00