[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 0/7] Allow setting up shared memory areas between VMs from xl config files
Hi, This series implements the new xl config entry proposed in [1]. Users can use the new config entry to statically setup shared memory areas among VMs that don't have grant table support so that they could communicate with each other through the static shared memory areas. After several rounds of reviews, the current design is somewhat different from what was described in the original proposal. So please refer to the documentation in [patch 7/7] for the current design. [1] Proposal to allow setting up shared memory areas between VMs from xl config file: https://lists.xen.org/archives/html/xen-devel/2017-08/msg03242.html v3: * Added the docs * Changed the order of patches to reflect their internal dependencies * Fixed the error handling when memory mapping are done but the xs trasaction fails * Changed the xsm hooks to lookup the current domain themselves instead of getting it as a parameter v4: * Place the sshm info, which should not be readable by guests, under the /libxl/static_shm xs path. * Add a new subop to xenmem_add_to_physmap() to support the memory sharing, instead of modifying an old one. Cheers, Zhongze Liu (7): libxc: add xc_domain_remove_from_physmap to wrap XENMEM_remove_from_physmap xen: xsm: flask: introduce XENMAPSPACE_gmfn_share for memory sharing libxl: introduce a new structure to represent static shared memory regions libxl: support mapping static shared memory areas during domain creation libxl: support unmapping static shared memory areas during domain destruction libxl:xl: add parsing code to parse "libxl_static_sshm" from xl config files docs: documentation about static shared memory regions docs/man/xl-static-shm-configuration.pod.5 | 257 +++++++++++++++ docs/man/xl.cfg.pod.5.in | 8 + docs/misc/xenstore-paths.markdown | 47 +++ tools/flask/policy/modules/xen.if | 2 + tools/libxc/include/xenctrl.h | 4 + tools/libxc/xc_domain.c | 11 + tools/libxl/Makefile | 4 +- tools/libxl/libxl.h | 4 + tools/libxl/libxl_arch.h | 6 + tools/libxl/libxl_arm.c | 15 + tools/libxl/libxl_create.c | 27 ++ tools/libxl/libxl_domain.c | 5 + tools/libxl/libxl_internal.h | 16 + tools/libxl/libxl_sshm.c | 503 +++++++++++++++++++++++++++++ tools/libxl/libxl_types.idl | 32 +- tools/libxl/libxl_x86.c | 19 ++ tools/libxl/libxlu_sshm.c | 210 ++++++++++++ tools/libxl/libxlutil.h | 6 + tools/xl/xl_parse.c | 24 +- xen/arch/arm/mm.c | 8 +- xen/arch/x86/mm.c | 4 + xen/include/public/memory.h | 4 + xen/include/xsm/dummy.h | 6 + xen/include/xsm/xsm.h | 6 + xen/xsm/dummy.c | 1 + xen/xsm/flask/hooks.c | 7 + xen/xsm/flask/policy/access_vectors | 5 + 27 files changed, 1235 insertions(+), 6 deletions(-) create mode 100644 docs/man/xl-static-shm-configuration.pod.5 create mode 100644 tools/libxl/libxl_sshm.c create mode 100644 tools/libxl/libxlu_sshm.c -- 2.16.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |