From: Andrew Cooper <andrew.cooper3@citrix.com>
To: "Aravindh Puthiyaparambil (aravindp)" <aravindp@cisco.com>,
Jan Beulich <JBeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
Keir Fraser <keir@xen.org>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Ian Campbell <ian.campbell@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH RFC v2 1/4] x86/mm: Shadow and p2m changes for PV mem_access
Date: Wed, 27 Aug 2014 00:30:41 +0100 [thread overview]
Message-ID: <53FD18A1.9050402@citrix.com> (raw)
In-Reply-To: <97A500D504438F4ABC02EBA81613CC63318E3BB9@xmb-aln-x02.cisco.com>
On 26/08/2014 23:27, Aravindh Puthiyaparambil (aravindp) wrote:
>>> Just to be certain as to where we stand:
>>>
>>> 1. The "page table RW bit flipping" solution is not viable because pausing
>>> the domain synchronously takes too long for many vcpus domains. Plus
>> there is
>>> the added issue of vcpu vs domain heuristics. This is the case even after
>>> solving the page boundary and multiple page copy issues.
>>>
>>> 2. The "CR0.WP with interrupts disabled" solution is not viable because of
>>> NMIs. Or did I misunderstand?
>> For this second option, NMIs are a concern. Whether that makes it
>> not viable I'm not certain. We really need to weigh benefits and risks
>> here, and from a project wide perspective I'm currently viewing the
> From what I can tell, Andrew does think that this route is a viable option and I will defer to you and him about this. If there is agreement that this approach is acceptable, I will send out another version of the patches implementing it.
I currently see the CR0.WP=0 with interrupts disabled as the most viable
solution going. That is not to say that there isn't a better solution,
but I can't currently spot a plausible alternative.
I do not see the NMI path as problematic with respect to WP=0 or
interrupts disabled. The logic is very deliberately self contained and
minimal, as it specifically can interrupt other critical regions with
interrupts otherwise disabled in Xen.
>
>> PV mem-access feature as a niche thing, the more that I'm unaware
>> of really wide spread use if HVM mem-access capabilities. I.e. the
>> most I can currently see happening is for it to go in clearly marked
>> experimental, provided that no code path used outside of that
>> feature suffers in any way (functionality and performance). But of
>> course I'm open to be convinced otherwise, or overruled by a
>> majority of other maintainers.
> I agree that PV/HVM mem_access feature is indeed niche, however it is a value add feature for Xen when compared to other hypervisors. It is attracting users who are interested in developing security and guest inspection/introspection products. And yes, I agree that the code added for mem_access should not adversely affect other areas of the project. I would hope this feature area is given encouragement to grow by the community. Just my two bits...
I would also agree that PV mem_access is niche, but that is not to say
that it isn't valuable as part of the Xen ecosystem.
If it can be implemented with zero (or more realistically, minimal)
overhead to the rest of Xen (especially in the case where it is not
used), and explicitly documented as "by using PV mem_access, you as the
admin/user are accepting that there is an overhead", then I think that
it is ok.
After all, a working feature (if it doesn't adversely interfere with Xen
when disabled) is better than half a feature which doesn't function,
even if it is somewhat slow. I have to admit that this is rare where
there is only one apparently feasible solution, which isn't necessarily
fantastic overall.
Having said all of this, I am merely a community member who is voicing
an opinion. It is ultimately Jan and Tim you have to convince to get
any patches accepted.
~Andrew
next prev parent reply other threads:[~2014-08-26 23:30 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 [this message]
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 ` [PATCH RFC v2 0/4] Add mem_access " Konrad Rzeszutek Wilk
2014-07-08 17:57 ` 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=53FD18A1.9050402@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=aravindp@cisco.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=keir@xen.org \
--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 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).