[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.