# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1216140985 -3600
# Node ID 64d8a24d28f68eb0067d982b401b1b478e590194
# Parent 675fb031df88f08cbe7abb277bd2cafbc340ec2d
x86: No need to vcpu_update_system_time() on map_vcpu_info().
Also, ensure update_vcpu_system_time() triggers at least once for any
given vcpu, even if the TSC stamp is zero.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
xen/arch/x86/domain.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)
diff -r 675fb031df88 -r 64d8a24d28f6 xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c Tue Jul 15 16:13:46 2008 +0100
+++ b/xen/arch/x86/domain.c Tue Jul 15 17:56:25 2008 +0100
@@ -286,6 +286,10 @@ int vcpu_initialise(struct vcpu *v)
v->arch.flags = TF_kernel_mode;
+ /* Ensure that update_vcpu_system_time() fires at least once. */
+ if ( !is_idle_domain(d) )
+ vcpu_info(v, time).tsc_timestamp = ~0ull;
+
#if defined(__i386__)
mapcache_vcpu_init(v);
#endif
@@ -811,14 +815,6 @@ map_vcpu_info(struct vcpu *v, unsigned l
vcpu_info(v, evtchn_upcall_pending) = 1;
for ( i = 0; i < BITS_PER_GUEST_LONG(d); i++ )
set_bit(i, &vcpu_info(v, evtchn_pending_sel));
-
- /*
- * Only bother to update time for the current vcpu. If we're
- * operating on another vcpu, then it had better not be running at
- * the time.
- */
- if ( v == current )
- update_vcpu_system_time(v);
return 0;
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|