|
|
|
|
|
|
|
|
|
|
xen-changelog
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] x86: Clean up vpt-align patch.,
Xen patchbot-unstable <=
|
|
|
|
|