[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v8 00/15] xen: better grant v2 support
Currently Linux has no support for grant v2 as this would reduce the maximum number of active grants by a factor of 2 compared to v1, because the number of possible grants are limited by the allowed number of grant frames and grant entries of v2 need twice as much bytes as those of v1. Unfortunately grant v2 is the only way to support either guests with more than 16TB memory size or PV guests with memory above the 16TB border, as grant v1 limits the frame number to be 32 bits wide. In order to remove the disadvantage of grant v2 this patch series adds support for setting per-domain values regarding grant limits. Additionally the default limit of grant frames is doubled in case of hosts with potential memory above the 16TB border. Changes in V8: - dropped previous patch 1, as already committed - patch 1: make gnttab_grow_table() static instead doing so in next patch (Jan Beulich) - patch 3: remove stale #if 0, adjust comments (Paul Durrant) Changes in V7: - added patches 5, 6, 9, 16 - patch 2: only call gnttab_set_frame_gfn() if no error (Julien Grall) - patch 10: don't use xc_maximum_ram_page() but max_possible_mfn from physinfo - patch 13: re-add #include <asm/grant-table.h> in grant_table.h (Julien Grall) - patch 15: add boot parameter documentation changes Changes in V6: - several new patches (1, 6, 7, 10, 12) - order of patches re-arranged to support new hypercall now being mandatory - lots of other small changes Changes in V5: - patch 6: add set_gnttab_limits to create_domain_common in xen.if (Daniel De Graaf) Changes in V4: - patch 3: make ret more local (Wei Liu) - patch 7: use domid_t (Wei Liu) - patch 8: rename configuration items to use max_ prefixes (Wei Liu) Changes in V3: - patch 1: update commit message - patch 3: move call of grant_table_init() from gnttab_setup_table() to gnttab_grow_table() (Paul Durrant) - patch 4: correct error message (Paul Durrant) - patch 6: rename *gnttbl* to *gnttab* (Paul Durrant) Changes in V2: - add per-domain grant limits instead of different v1 and v2 limits - double default limit for huge hosts Juergen Gross (15): xen: move XENMAPSPACE_grant_table code into grant_table.c xen: clean up grant_table.h xen: add new domctl hypercall to set grant table resource limits xen: add function for obtaining highest possible memory address xen: add max possible mfn to struct xen_sysctl_physinfo libxc: add libxc support for setting grant table resource limits tools: set grant limits for xenstore stubdom libxl: add max possible mfn to libxl_physinfo xl: add global grant limit config items libxl: add libxl support for setting grant table resource limits xen: delay allocation of grant table sub structures xen/arm: move arch specific grant table bits into grant_table.c xen: make grant resource limits per domain xen: make grant table limits boot parameters dom0 only xen: add new Xen cpuid node for max address width info docs/man/xl.cfg.pod.5.in | 16 ++ docs/man/xl.conf.pod.5 | 12 ++ docs/misc/xen-command-line.markdown | 15 +- tools/flask/policy/modules/dom0.te | 2 +- tools/flask/policy/modules/xen.if | 2 +- tools/helpers/init-xenstore-domain.c | 11 + tools/libxc/include/xenctrl.h | 14 ++ tools/libxc/xc_domain.c | 13 ++ tools/libxl/libxl.c | 1 + tools/libxl/libxl.h | 15 ++ tools/libxl/libxl_dm.c | 3 + tools/libxl/libxl_dom.c | 6 + tools/libxl/libxl_types.idl | 4 + tools/xl/xl.c | 15 ++ tools/xl/xl.h | 2 + tools/xl/xl_parse.c | 9 + tools/xl/xl_sxp.c | 2 + xen/arch/arm/domain.c | 2 - xen/arch/arm/domain_build.c | 2 +- xen/arch/arm/mm.c | 36 +--- xen/arch/x86/mm.c | 54 ++--- xen/arch/x86/traps.c | 4 + xen/common/compat/grant_table.c | 31 +-- xen/common/domctl.c | 6 + xen/common/grant_table.c | 394 +++++++++++++++++++++++++---------- xen/common/memory.c | 8 + xen/common/sysctl.c | 1 + xen/include/asm-arm/domain.h | 1 - xen/include/asm-arm/grant_table.h | 23 +- xen/include/asm-arm/mm.h | 5 + xen/include/asm-x86/grant_table.h | 7 + xen/include/asm-x86/mm.h | 2 + xen/include/public/arch-x86/cpuid.h | 11 +- xen/include/public/domctl.h | 7 + xen/include/public/sysctl.h | 2 + xen/include/xen/grant_table.h | 93 +-------- xen/include/xen/mm.h | 3 + xen/xsm/flask/hooks.c | 3 + xen/xsm/flask/policy/access_vectors | 2 + 39 files changed, 532 insertions(+), 307 deletions(-) -- 2.12.3 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |