All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.