[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v10 00/11] 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 V10: - patch 1: avoid holes in xen_sysctl_physinfo, use uint64_aligned_t (Jan Beulich) - patch 7: move locking into grant_table_init() (Jan Beulich) - patch 9: lower INITIAL_NR_GRANT_FRAMES value to 1 - patch 9: removed no longer needed variables (Jan Beulich) - patch 9: stream lined messages (Jan Beulich) - patch 9: corrected setting of gnttab_size on ARM - patch 10: correct comment in cpuid.h (Jan Beulich) - added patch 11 Changes in V9: - dropped the already committed patches 1-3 - merged former patches 4 and 5 (Jan Beulich) - merged former patches 13 and 14 - patch 1: bump sysctl interface version (Julien Grall) - patch 1: drop thin common shim of get_upper_mfn_bound() (Jan Beulich) - patch 1: let get_upper_mfn_bound() return the highest MFN, not the one following it (Jan Beulich) - patch 7: allocate initial grant frames from grant_table_init() (Jan Beulich) - patch 8: correct and cleanup gnttab_init_arch() for ARM (Julien Grall) - patch 10: make leaf pv-only (Jan Beulich) - patch 10: use hex value for mask (Jan Beulich) - patch 10: guest address width -> machine address width (Jan Beulich) 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 (11): xen: add function for obtaining highest possible memory address 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: add new Xen cpuid node for max address width info xen: add some comments in include/public/arch-x86/cpuid.h docs/man/xl.cfg.pod.5.in | 16 ++ docs/man/xl.conf.pod.5 | 12 ++ docs/misc/xen-command-line.markdown | 25 +-- tools/helpers/init-xenstore-domain.c | 11 ++ tools/libxc/include/xenctrl.h | 13 ++ 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 | 6 +- xen/arch/arm/mm.c | 6 + xen/arch/x86/mm.c | 11 ++ xen/arch/x86/traps.c | 7 + xen/common/compat/grant_table.c | 31 +--- xen/common/grant_table.c | 286 ++++++++++++++++++++--------------- xen/common/sysctl.c | 1 + xen/include/asm-arm/domain.h | 1 - xen/include/asm-arm/grant_table.h | 34 ++++- xen/include/asm-x86/grant_table.h | 19 ++- xen/include/public/arch-x86/cpuid.h | 31 +++- xen/include/public/sysctl.h | 7 +- xen/include/xen/grant_table.h | 5 +- xen/include/xen/mm.h | 3 + 30 files changed, 410 insertions(+), 187 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 |