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

[Xen-changelog] [xen master] x86/time: slightly streamline __update_vcpu_system_time()



commit 838eefd6eb95af1009cd89feeb5dc02d365cf482
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Tue Oct 13 17:18:34 2015 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue Oct 13 17:18:34 2015 +0200

    x86/time: slightly streamline __update_vcpu_system_time()
    
    Fold two if()-s using the same condition, converting the memset() so
    far separating them to a simple initializer. Move common assignments
    out of the conditional. Drop an unnecessary initializer.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/arch/x86/time.c |   23 ++++++++---------------
 1 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index b334f2f..5d7452a 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -790,9 +790,9 @@ uint64_t tsc_ticks2ns(uint64_t ticks)
 static void __update_vcpu_system_time(struct vcpu *v, int force)
 {
     struct cpu_time       *t;
-    struct vcpu_time_info *u, _u;
+    struct vcpu_time_info *u, _u = {};
     struct domain *d = v->domain;
-    s_time_t tsc_stamp = 0;
+    s_time_t tsc_stamp;
 
     if ( v->vcpu_info == NULL )
         return;
@@ -816,28 +816,21 @@ static void __update_vcpu_system_time(struct vcpu *v, int 
force)
         }
         else
             tsc_stamp = gtime_to_gtsc(d, stime);
-    }
-    else
-    {
-        tsc_stamp = t->local_tsc_stamp;
-    }
-
-    memset(&_u, 0, sizeof(_u));
 
-    if ( d->arch.vtsc )
-    {
-        _u.tsc_timestamp     = tsc_stamp;
-        _u.system_time       = t->stime_local_stamp;
         _u.tsc_to_system_mul = d->arch.vtsc_to_ns.mul_frac;
         _u.tsc_shift         = d->arch.vtsc_to_ns.shift;
     }
     else
     {
-        _u.tsc_timestamp     = t->local_tsc_stamp;
-        _u.system_time       = t->stime_local_stamp;
+        tsc_stamp = t->local_tsc_stamp;
+
         _u.tsc_to_system_mul = t->tsc_scale.mul_frac;
         _u.tsc_shift         = (s8)t->tsc_scale.shift;
     }
+
+    _u.tsc_timestamp = tsc_stamp;
+    _u.system_time   = t->stime_local_stamp;
+
     if ( is_hvm_domain(d) )
         _u.tsc_timestamp += v->arch.hvm_vcpu.cache_tsc_offset;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
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®.