xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Zhongze Liu <blackskygg@gmail.com>
To: xen-devel@lists.xen.org
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Julien Grall <julien.grall@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>, Zhongze Liu <blackskygg@gmail.com>
Subject: [PATCH v4 0/7] Allow setting up shared memory areas between VMs from xl config files
Date: Wed, 31 Jan 2018 01:50:17 +0800	[thread overview]
Message-ID: <20180130175024.26921-1-blackskygg@gmail.com> (raw)

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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

             reply	other threads:[~2018-01-30 17:50 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-30 17:50 Zhongze Liu [this message]
2018-01-30 17:50 ` [PATCH v4 1/7] libxc: add xc_domain_remove_from_physmap to wrap XENMEM_remove_from_physmap Zhongze Liu
2018-01-30 17:50 ` [PATCH v4 2/7] xen: xsm: flask: introduce XENMAPSPACE_gmfn_share for memory sharing Zhongze Liu
2018-02-01 10:23   ` Jan Beulich
2018-02-01 18:11     ` Zhongze Liu
2018-02-02  8:32       ` Jan Beulich
2018-02-05  9:59         ` Zhongze Liu
2018-02-13 15:15     ` Zhongze Liu
2018-02-13 15:26       ` Jan Beulich
2018-02-14  7:15         ` Zhongze Liu
2018-02-14  8:37           ` Jan Beulich
2018-02-14 17:02             ` Zhongze Liu
2018-02-15  8:58               ` Jan Beulich
2018-02-24  2:50                 ` Zhongze Liu
2018-02-24  5:37                   ` Zhongze Liu
2018-02-26  7:53                     ` Jan Beulich
2018-02-06 11:04   ` Julien Grall
2018-01-30 17:50 ` [PATCH v4 3/7] libxl: introduce a new structure to represent static shared memory regions Zhongze Liu
2018-02-06 11:27   ` Julien Grall
2018-02-06 15:41     ` Zhongze Liu
2018-02-06 15:46       ` Julien Grall
2018-02-06 16:06         ` Zhongze Liu
2018-02-06 17:23           ` Julien Grall
2018-01-30 17:50 ` [PATCH v4 4/7] libxl: support mapping static shared memory areas during domain creation Zhongze Liu
2018-02-06 13:07   ` Julien Grall
2018-02-06 15:59     ` Zhongze Liu
2018-02-06 17:30       ` Julien Grall
2018-02-06 17:47         ` Wei Liu
2018-02-12 15:08           ` Zhongze Liu
2018-02-14 14:26             ` Wei Liu
2018-01-30 17:50 ` [PATCH v4 5/7] libxl: support unmapping static shared memory areas during domain destruction Zhongze Liu
2018-02-06 13:24   ` Julien Grall
2018-02-06 18:06     ` Wei Liu
2018-02-07 16:27       ` Zhongze Liu
2018-02-07 16:54         ` Julien Grall
2018-02-12 14:52           ` Zhongze Liu
2018-02-12 15:09             ` Julien Grall
2018-02-12 15:17               ` Zhongze Liu
2018-02-12 15:24                 ` Julien Grall
2018-02-14 14:35                   ` Wei Liu
2018-02-14 14:39                   ` Wei Liu
2018-02-26 12:08                     ` Ian Jackson
2018-01-30 17:50 ` [PATCH v4 6/7] libxl:xl: add parsing code to parse "libxl_static_sshm" from xl config files Zhongze Liu
2018-01-30 17:50 ` [PATCH v4 7/7] docs: documentation about static shared memory regions Zhongze Liu
2018-02-06 13:28   ` Julien Grall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180130175024.26921-1-blackskygg@gmail.com \
    --to=blackskygg@gmail.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=julien.grall@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).