[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |