WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] [PATCH] replace rdtsc emulation-vs-native xen boot optio

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, "Xen-Devel (E-mail)" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH] replace rdtsc emulation-vs-native xen boot option with per-domain (hypervisor part)
From: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Date: Sun, 27 Sep 2009 16:19:16 -0700 (PDT)
Cc:
Delivery-date: Sun, 27 Sep 2009 16:19:57 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C6E59A07.15D68%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Sorry I should have explained my logic for those changes
in the original posting.

The scaling is a strange corner case where a domain
can invisibly change from native-tsc to virtual-tsc.
I started to add a domctl so that the current state
could be probed, but decided that the scaling is
really a policy decision that is best made at
config time and best retained in the VM information
carried along with a save file (or live migration).
Allowing rdtsc to change dynamically according to
whether a save/restore/migration happened to occur
and whether the restored VM happened to land on
a machine with a different clock rate seems like
it could get very confusing.  The domain adminstrator
either assumes correctness (the default) or turns
off emulation to get better performance and deals
with ALL the consequences.  So IMHO removing the
scaling simplifies an already complex-to-explain
issue.

As for flipping/renaming the flag, I coded the patch
using the original vtsc name, but decided that if the
hypervisor default is truly going to be tsc_emulation,
then tsc_native is the unusual case and the code
should reflect that syntactically by requiring
tsc_native to be enabled.  This is especially
true when the equivalent of the flag is managed in the
config file:  Nearly all config parameters use
a default as 0 and setting the parameter causes
behavior to change, so setting tsc_native=1 to
change from the default tsc behavior seemed
more consistent.

Let me know your decisions on these as the tools code
depends on them.

Thanks,
Dan

> -----Original Message-----
> From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx]
> Sent: Sunday, September 27, 2009 3:39 PM
> To: Dan Magenheimer; Xen-Devel (E-mail)
> Subject: Re: [Xen-devel] [PATCH] replace rdtsc emulation-vs-native xen
> boot option with per-domain (hypervisor part)
> 
> 
> On 27/09/2009 20:22, "Dan Magenheimer" 
> <dan.magenheimer@xxxxxxxxxx> wrote:
> 
> > (I'm still struggling against the coils of python on
> > the tools part of this patch, so thought I'd post the
> > hypervisor side separately first.)
> > 
> > Switches rdtsc emulation from boot option to per-domain
> > and enables it by default.  Also removes hvm tsc scaling
> > as it is no longer necessary.
> 
> The hvm tsc scaling will still be useful in the case that 
> trap-&-emulate was
> originally disabled for an hvm domain. So I'd keep it, and 
> also keep the
> flag called d->arch.vtsc rather than flipping it and renaming 
> it, and the
> patch will end up about 20 lines long.
> 
> I'll rework this patch myself and check it in at the same 
> time as the tools
> patch, when you have that ready.
> 
>  -- Keir
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>