[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] x86: Clean up vpt-align patch.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1234518536 0
# Node ID 09a6fa059b37992cc74a548533eadd7352213a8b
# Parent  d9480422034bd2b81702a5d87089da7735bd6453
x86: Clean up vpt-align patch.

Also disable by default if not specified in domain config. Otherwise
the feature would be incorrectly enabled for old saved domain images.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/arch/x86/hvm/hvm.c |    1 -
 xen/arch/x86/hvm/vpt.c |   16 +++++++++++-----
 2 files changed, 11 insertions(+), 6 deletions(-)

diff -r d9480422034b -r 09a6fa059b37 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c    Fri Feb 13 09:43:06 2009 +0000
+++ b/xen/arch/x86/hvm/hvm.c    Fri Feb 13 09:48:56 2009 +0000
@@ -311,7 +311,6 @@ int hvm_domain_initialise(struct domain 
     hvm_init_guest_time(d);
 
     d->arch.hvm_domain.params[HVM_PARAM_HPET_ENABLED] = 1;
-    d->arch.hvm_domain.params[HVM_PARAM_VPT_ALIGN]    = 1;
 
     hvm_init_cacheattr_region_list(d);
 
diff -r d9480422034b -r 09a6fa059b37 xen/arch/x86/hvm/vpt.c
--- a/xen/arch/x86/hvm/vpt.c    Fri Feb 13 09:43:06 2009 +0000
+++ b/xen/arch/x86/hvm/vpt.c    Fri Feb 13 09:48:56 2009 +0000
@@ -384,17 +384,23 @@ void create_periodic_time(
     pt->period_cycles = (u64)period;
     pt->one_shot = !period;
     pt->scheduled = NOW() + delta;
-    /*
-     * Offset LAPIC ticks from other timer ticks. Otherwise guests which use
-     * LAPIC ticks for process accounting can see long sequences of process
-     * ticks incorrectly accounted to interrupt processing.
-     */
+
     if ( !pt->one_shot )
     {
         if ( v->domain->arch.hvm_domain.params[HVM_PARAM_VPT_ALIGN] )
+        {
             pt->scheduled = align_timer(pt->scheduled, pt->period);
+        }
         else if ( pt->source == PTSRC_lapic )
+        {
+            /*
+             * Offset LAPIC ticks from other timer ticks. Otherwise guests
+             * which use LAPIC ticks for process accounting can see long
+             * sequences of process ticks incorrectly accounted to interrupt
+             * processing (seen with RHEL3 guest).
+             */
             pt->scheduled += delta >> 1;
+        }
     }
 
     pt->cb = cb;

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.