All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Aravindh Puthiyaparambil <aravindp@cisco.com>
Cc: Keir Fraser <keir@xen.org>,
	Ian Campbell <ian.campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim Deegan <tim@xen.org>, Ian Jackson <ian.jackson@eu.citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH RFC v2 0/4] Add mem_access support for PV domains
Date: Tue, 8 Jul 2014 12:27:24 -0400	[thread overview]
Message-ID: <20140708162724.GB9727@laptop.dumpdata.com> (raw)
In-Reply-To: <1404787805-4540-1-git-send-email-aravindp@cisco.com>

On Mon, Jul 07, 2014 at 07:50:01PM -0700, Aravindh Puthiyaparambil wrote:
> This patch series adds mem_access support for PV domains. To do this the PV
> domain domain has to be run with shadow paging. A p2m implementation for
> mem_access has been added to track the access permissions. Since special ring
> pages are not created for PV domains, this is done as part of enabling
> mem_access.This page is freed when mem_access is disabled or when the domain
> is destroyed.
> 
> When mem_access is enabled for a PV domain, shadow paging is turned on and all
> the shadows are dropped. In the resulting pagefaults, the entries are created
> with the default access permissions. On future pagefaults, if there is a violation,
> a mem_event is sent to the mem_access listener who will then resolve it.
> 
> The access permissions for individual pages are stored in the shadow_flags field
> in the page_info structure. To get the access permissions for individual pages,
> this field is referenced. To set the access permission of individual pages, the new
> permission is set in the shadow_flags and the shadow for the gmfn is dropped. On the
> resulting fault, the new PTE entry will be created with the new permission. A
> new API has been added to set the default access permissions for PV domains.

In regards to the new ops - you also would need to add the XSM hooks.

I recall that in the past Jan had some questions, but I don't recall
exactly what they were - does this patchset address that?

Thanks!
> 
> Patches are based on top of commit f9cff088.
> 
> Signed-off-by: Aravindh Puthiyaparambil <aravindp@cisco.com>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Keir Fraser <keir@xen.org>
> Cc: Tim Deegan <tim@xen.org>
> Cc: Ian Campbell <ian.campbell@citrix.com>
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
>   x86/mm: Shadow and p2m changes for PV mem_access
>   x86/mem_access: mem_access and mem_event changes to support PV domains
>   tools/libxc: Add APIs for PV mem_access
>   tool/xen-access: Add support for PV domains
> 
>  tools/libxc/xc_mem_access.c          |  42 ++++++
>  tools/libxc/xc_mem_event.c           |  23 +++-
>  tools/libxc/xc_private.h             |   9 ++
>  tools/libxc/xenctrl.h                |  28 +++-
>  tools/tests/xen-access/xen-access.c  | 104 +++++++++------
>  xen/arch/x86/domain.c                |  12 ++
>  xen/arch/x86/mm/Makefile             |   2 +-
>  xen/arch/x86/mm/mem_access.c         | 244 ++++++++++++++++++++++++++++++++++-
>  xen/arch/x86/mm/mem_event.c          |  62 +++++++--
>  xen/arch/x86/mm/p2m-ma.c             | 148 +++++++++++++++++++++
>  xen/arch/x86/mm/p2m.c                |  52 +++++---
>  xen/arch/x86/mm/paging.c             |   7 +
>  xen/arch/x86/mm/shadow/common.c      |  75 ++++++++++-
>  xen/arch/x86/mm/shadow/multi.c       | 101 ++++++++++++++-
>  xen/arch/x86/mm/shadow/private.h     |   7 +
>  xen/arch/x86/srat.c                  |   1 +
>  xen/arch/x86/usercopy.c              |  12 ++
>  xen/common/page_alloc.c              |   3 +
>  xen/drivers/video/vesa.c             |   1 +
>  xen/include/asm-x86/domain.h         |   9 ++
>  xen/include/asm-x86/mem_access.h     |   3 +
>  xen/include/asm-x86/mm.h             |   1 -
>  xen/include/asm-x86/p2m.h            |  17 +++
>  xen/include/asm-x86/paging.h         |   1 +
>  xen/include/asm-x86/shadow.h         |  15 +++
>  xen/include/asm-x86/x86_64/uaccess.h |   7 +
>  xen/include/public/memory.h          |   3 +
>  27 files changed, 899 insertions(+), 90 deletions(-)
>  create mode 100644 xen/arch/x86/mm/p2m-ma.c
> 
> -- 
> 1.9.1
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

  parent reply	other threads:[~2014-07-08 17:28 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-08  2:50 [PATCH RFC v2 0/4] Add mem_access support for PV domains Aravindh Puthiyaparambil
2014-07-08  2:50 ` [PATCH RFC v2 1/4] x86/mm: Shadow and p2m changes for PV mem_access Aravindh Puthiyaparambil
2014-07-24 14:29   ` Jan Beulich
2014-07-24 23:34     ` Aravindh Puthiyaparambil (aravindp)
2014-07-25  7:19       ` Jan Beulich
2014-07-25 21:39         ` Aravindh Puthiyaparambil (aravindp)
2014-07-28  6:49           ` Jan Beulich
2014-07-28 21:14             ` Aravindh Puthiyaparambil (aravindp)
2014-07-30  4:05             ` Aravindh Puthiyaparambil (aravindp)
2014-07-30  7:11               ` Jan Beulich
2014-07-30 18:35                 ` Aravindh Puthiyaparambil (aravindp)
2014-08-01  6:39                   ` Jan Beulich
2014-08-01 18:08                     ` Aravindh Puthiyaparambil (aravindp)
2014-08-04  7:03                       ` Jan Beulich
2014-08-05  0:14                         ` Aravindh Puthiyaparambil (aravindp)
2014-08-05  6:33                           ` Jan Beulich
2014-08-13 22:14                             ` Aravindh Puthiyaparambil (aravindp)
2014-08-22  2:29                             ` Aravindh Puthiyaparambil (aravindp)
2014-08-22  9:34                               ` Andrew Cooper
2014-08-22 10:02                                 ` Jan Beulich
2014-08-22 10:14                                   ` Andrew Cooper
2014-08-22 18:28                                 ` Aravindh Puthiyaparambil (aravindp)
2014-08-22 18:52                                   ` Andrew Cooper
2014-08-25 12:45                                 ` Gianluca Guida
2014-08-25 13:01                                   ` Jan Beulich
2014-08-25 13:02                                   ` Andrew Cooper
2014-08-25 13:59                                     ` Gianluca Guida
2014-08-22 15:33                               ` Jan Beulich
2014-08-22 19:07                                 ` Aravindh Puthiyaparambil (aravindp)
2014-08-22 19:24                                   ` Andrew Cooper
2014-08-22 19:48                                     ` Aravindh Puthiyaparambil (aravindp)
2014-08-22 20:02                                       ` Andrew Cooper
2014-08-22 20:13                                         ` Aravindh Puthiyaparambil (aravindp)
2014-08-25  7:34                                           ` Jan Beulich
2014-08-25  7:33                                         ` Jan Beulich
2014-08-25 12:49                                           ` Andrew Cooper
2014-08-25 13:09                                             ` Jan Beulich
2014-08-25 16:56                                               ` Aravindh Puthiyaparambil (aravindp)
2014-08-26  7:08                                                 ` Jan Beulich
2014-08-26 22:27                                                   ` Aravindh Puthiyaparambil (aravindp)
2014-08-26 23:30                                                     ` Andrew Cooper
2014-08-28  9:34                                                       ` Tim Deegan
2014-08-28 18:33                                                         ` Aravindh Puthiyaparambil (aravindp)
2014-08-27  6:33                                                     ` Jan Beulich
2014-08-27  7:49                                                       ` Tim Deegan
2014-08-27 17:29                                                       ` Aravindh Puthiyaparambil (aravindp)
2014-08-25 17:44                                               ` Andrew Cooper
2014-08-26  7:12                                                 ` Jan Beulich
2014-08-25  7:29                                       ` Jan Beulich
2014-08-25 16:40                                         ` Aravindh Puthiyaparambil (aravindp)
2014-08-28  9:14           ` Tim Deegan
2014-08-28 18:31             ` Aravindh Puthiyaparambil (aravindp)
2014-08-28 19:00               ` Tim Deegan
2014-08-28 19:23                 ` Aravindh Puthiyaparambil (aravindp)
2014-08-28 20:37                   ` Tim Deegan
2014-08-28 21:35                     ` Aravindh Puthiyaparambil (aravindp)
2014-08-28 22:20                     ` Aravindh Puthiyaparambil (aravindp)
2014-08-29  9:52                       ` Tim Deegan
2014-08-29 17:52                         ` Aravindh Puthiyaparambil (aravindp)
2014-08-29 19:03                         ` Aravindh Puthiyaparambil (aravindp)
2014-09-01 10:38                           ` Jan Beulich
2014-09-02 21:57                             ` Aravindh Puthiyaparambil (aravindp)
2014-09-03  8:31                               ` Jan Beulich
2014-09-03 18:50                                 ` Aravindh Puthiyaparambil (aravindp)
2014-09-04  6:39                                   ` Jan Beulich
2014-09-04 18:24                                     ` Aravindh Puthiyaparambil (aravindp)
2014-09-05  8:11                                       ` Jan Beulich
2014-09-05 22:49                                         ` Aravindh Puthiyaparambil (aravindp)
     [not found]                                   ` <20140904083906.GA86555@deinos.phlegethon.org>
     [not found]                                     ` <540849430200007800030C47@mail.emea.novell.com>
2014-09-11 19:40                                       ` Aravindh Puthiyaparambil (aravindp)
2014-09-12  7:21                                         ` Jan Beulich
2014-09-12 18:01                                           ` Aravindh Puthiyaparambil (aravindp)
2014-08-28  9:09       ` Tim Deegan
2014-08-28 18:23         ` Aravindh Puthiyaparambil (aravindp)
2014-07-08  2:50 ` [PATCH RFC v2 2/4] x86/mem_access: mem_access and mem_event changes to support PV domains Aravindh Puthiyaparambil
2014-07-24 14:38   ` Jan Beulich
2014-07-24 23:52     ` Aravindh Puthiyaparambil (aravindp)
2014-07-25  7:23       ` Jan Beulich
2014-07-25 21:47         ` Aravindh Puthiyaparambil (aravindp)
2014-07-28  6:56           ` Jan Beulich
2014-07-28 21:16             ` Aravindh Puthiyaparambil (aravindp)
2014-07-08  2:50 ` [PATCH RFC v2 3/4] tools/libxc: Add APIs for PV mem_access Aravindh Puthiyaparambil
2014-07-08  2:50 ` [PATCH RFC v2 4/4] tool/xen-access: Add support for PV domains Aravindh Puthiyaparambil
2014-07-08 16:27 ` Konrad Rzeszutek Wilk [this message]
2014-07-08 17:57   ` [PATCH RFC v2 0/4] Add mem_access " Aravindh Puthiyaparambil (aravindp)
2014-07-09  0:31   ` Aravindh Puthiyaparambil (aravindp)

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=20140708162724.GB9727@laptop.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=aravindp@cisco.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xenproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.