From: Kai Huang <kai.huang@linux.intel.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Keir Fraser <keir@xen.org>, "Tian, Kevin" <kevin.tian@intel.com>,
Tim Deegan <tim@xen.org>, Jan Beulich <JBeulich@suse.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: PML (Page Modification Logging) design for Xen
Date: Thu, 12 Mar 2015 15:36:05 +0800 [thread overview]
Message-ID: <550141E5.5030306@linux.intel.com> (raw)
In-Reply-To: <CAFLBxZZdrUq3By77rKROqbSSL1FgJocBA1xFU_6DsF1Ky7gx+Q@mail.gmail.com>
On 03/11/2015 11:53 PM, George Dunlap wrote:
> On Wed, Mar 11, 2015 at 11:11 AM, Andrew Cooper
> <andrew.cooper3@citrix.com> wrote:
>> On 11/03/15 10:59, George Dunlap wrote:
>>> On Tue, Feb 17, 2015 at 10:19 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>>> On 12.02.15 at 03:39, <kai.huang@linux.intel.com> wrote:
>>>>> On 02/11/2015 07:52 PM, Andrew Cooper wrote:
>>>>>> On 11/02/15 08:28, Kai Huang wrote:
>>>>>>> Design
>>>>>>> ======
>>>>>>>
>>>>>>> - PML feature is used globally
>>>>>>>
>>>>>>> A new Xen boot parameter, say 'opt_enable_pml', will be introduced to
>>>>>>> control PML feature detection, and PML feature will only be detected
>>>>>>> if opt_enable_pml = 1. Once PML feature is detected, it will be used
>>>>>>> for dirty logging for all domains globally. Currently we don't support
>>>>>>> to use PML on basis of per-domain as it will require additional
>>>>>>> control from XL tool.
>>>>>> Rather than adding in a new top level command line option for an ept
>>>>>> subfeature, it would be preferable to add an "ept=" option which has
>>>>>> "pml" as a sub boolean.
>>>>> Which is good to me, if Jan agrees.
>>>>>
>>>>> Jan, which do you prefer here?
>>>> A single "ept=" option as Andrew suggested.
>>> Sorry to be coming late to this party -- what's the logic behind
>>> having this enabled with "ept="? You're not changing anything about
>>> how EPT itself works; you're adding a secondary feature which happens
>>> to depend on ept. Is there another hypervisor command-line option you
>>> had in mind that works this way?
>> iommu=
> Every option in iommu actually changes something about the way the
> IOMMU actually works. Analogous options for ept might be enabling /
> disabling, setting a maximum entry size (1G, 2M, 4k), enabling the
> no-execute bit, &c.
>
> AFAICT PMT is a completely separate functionality.
Indeed, it doesn't impact functionality of existing EPT mechanism,
though it depends on EPT mechanism to work (by checking D-bit updating
from 0 to 1).
> Enabling it as an
> option behind ept would be like saying you should enable BTS
> (branch-trace-store) behind an option called "mmu=", since the
> addresses in the BTS go through the MMU.
>
> That's my $0.02 anyway...
To me a single opt_pml_enabled bool type parameter is OK, but I will
keep using "ept=pml" as Jan/Andrew/Tim agreed, unless any of them oppose it.
>
>>> It might also be nice to be able to enable or disable this feature
>>> with a sysctl call; but that's just a nice-to-have.
>> This feature should either be used or not. It is impractical to
>> enable/disable at runtime.
>>
>> However, it absolutely wants a knob for tweaking. The likely
>> consequence of a bug in the implementation is VM memory corruption on
>> migrate, and you can get away with missing a large amount of a domains
>> memory before it blows up noticeably.
> Those paragraphs sound to me like they say the opposite things.
>
> And in any case, it's being enabled and disabled for particular
> domains when they enable or disable logdirty mode, right? It
> shouldn't be hard at all to just fallback to the non-PML case if it's
> been disabled.
>
> Handling the case of enabling or disabling PML on domains that are
> already in logdirty mode is, I agree, probably more trouble than it's
> worth. We can just document it to say that it will only have an
> effect on domains that start logdirty in the future.
Currently I only plan to support PML on boot parameter, but I can
certainly add sysctl call to enable/disable PML dynamically if you guys
think it's necessary in the future, which should be a separate
nice-to-have feature and won't impact existing PML functionality.
Does this sound good to all of you?
Thanks,
-Kai
>
> -George
next prev parent reply other threads:[~2015-03-12 7:36 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-11 8:28 PML (Page Modification Logging) design for Xen Kai Huang
2015-02-11 11:52 ` Andrew Cooper
2015-02-11 13:13 ` Jan Beulich
2015-02-11 16:33 ` Andrew Cooper
2015-02-11 16:55 ` Jan Beulich
2015-02-12 2:35 ` Kai Huang
2015-02-12 6:25 ` Tian, Kevin
2015-02-12 6:45 ` Kai Huang
2015-02-12 7:08 ` Tian, Kevin
2015-02-12 7:34 ` Kai Huang
2015-02-12 12:42 ` Tim Deegan
2015-02-13 2:15 ` Kai Huang
2015-02-13 2:28 ` Tian, Kevin
2015-02-17 10:40 ` Jan Beulich
2015-02-12 2:39 ` Kai Huang
2015-02-12 6:54 ` Tian, Kevin
2015-02-12 6:56 ` Kai Huang
2015-02-12 7:09 ` Tian, Kevin
2015-02-12 7:15 ` Kai Huang
2015-02-12 14:10 ` Andrew Cooper
2015-02-13 0:58 ` Bing
2015-02-13 2:11 ` Kai Huang
2015-02-13 10:57 ` Andrew Cooper
2015-02-13 14:32 ` Kai Huang
2015-02-13 15:28 ` Andrew Cooper
2015-02-13 15:52 ` Kai Huang
2015-02-14 3:01 ` Kai Huang
2015-02-16 11:44 ` Andrew Cooper
2015-02-16 14:02 ` Kai Huang
2015-02-17 10:37 ` Jan Beulich
2015-02-17 10:19 ` Jan Beulich
2015-02-17 11:57 ` Tim Deegan
2015-03-11 10:59 ` George Dunlap
2015-03-11 11:11 ` Andrew Cooper
2015-03-11 15:53 ` George Dunlap
2015-03-12 7:36 ` Kai Huang [this message]
2015-03-12 11:19 ` Andrew Cooper
2015-03-14 3:04 ` Kai Huang
2015-03-24 6:42 ` Kai Huang
2015-03-24 7:53 ` Jan Beulich
2015-03-24 8:06 ` Kai Huang
2015-03-24 8:14 ` Jan Beulich
2015-03-24 8:17 ` Kai Huang
2015-02-11 13:06 ` Jan Beulich
2015-02-12 2:49 ` Kai Huang
2015-02-12 5:16 ` Kai Huang
2015-02-12 7:02 ` Tian, Kevin
2015-02-12 7:04 ` Kai Huang
2015-02-17 10:23 ` Jan Beulich
2015-03-01 23:13 ` Kai Huang
2015-02-12 12:34 ` Tim Deegan
2015-02-13 2:50 ` Kai Huang
2015-02-16 14:01 ` Kai Huang
2015-02-16 18:19 ` Tim Deegan
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=550141E5.5030306@linux.intel.com \
--to=kai.huang@linux.intel.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=keir@xen.org \
--cc=kevin.tian@intel.com \
--cc=tim@xen.org \
--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 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.