Displaying 5 results from an estimated 5 matches for "wc_lock".
Did you mean:
sc_lock
2008 Aug 06
3
[PATCH RFC] do_settime is backwards?!
While digging through the time code, I found something very strange
in do_settime:
x = (secs * 1000000000ULL) + (u64)nsecs - system_time_base;
y = do_div(x, 1000000000);
spin_lock(&wc_lock);
wc_sec = _wc_sec = (u32)x;
wc_nsec = _wc_nsec = (u32)y;
spin_unlock(&wc_lock);
The value "x" appears to be the number of nanoseconds, while
the value "y" is the value in seconds. The assignments to
wc_sec and wc_nsec seem backwards, though...
I hope I'...
2008 Nov 25
7
when timer go back in dom0 save and restore or migrate, PV domain hung
...== t->local_tsc_stamp )
return;
-
version_update_begin(&u->version);
u->tsc_timestamp = t->local_tsc_stamp;
@@ -713,14 +711,19 @@
version_update_end(&u->version);
}
-
void update_domain_wallclock_time(struct domain *d)
{
spin_lock(&wc_lock);
+ if(d->after_restore )
+ {
+ d->after_restore = 0;
+ goto out; //jsong@novell.com
+ }
version_update_begin(&shared_info(d, wc_version));
shared_info(d, wc_sec) = wc_sec + d->time_offset_seconds;
shared_info(d, wc_nsec) = wc_nsec;
version_u...
2008 Nov 27
1
Re: RE: Re: Re: when timer go back in dom0 save and restore ormigrate, PV domain hung
...rsion);
u->tsc_timestamp = t->local_tsc_stamp;
@@ -713,14 +711,19 @@
version_update_end(&u->version);
}
-
void update_domain_wallclock_time(struct domain
*d)
{
spin_lock(&wc_lock);
+ if(d->after_restore )
+ {
+ d->after_restore = 0;
+ goto out; //jsong@novell.com
+ }
version_update_begin(&shared_info(d,
wc_v...
2007 Aug 30
0
[PATCH][Retry 1] 1/4: cpufreq/PowerNow! in Xen: Xen timer changes
...eak;
+
default:
ret = -ENOSYS;
break;
diff -r 256160ff19b7 xen/arch/x86/time.c
--- a/xen/arch/x86/time.c Thu Aug 16 13:27:59 2007 +0100
+++ b/xen/arch/x86/time.c Thu Aug 30 12:08:29 2007 -0500
@@ -723,6 +723,41 @@ void update_domain_wallclock_time(struct
spin_unlock(&wc_lock);
}
+/* calculate new tsc_scale factor based on ratio of new and old frequency
+ * and update time stamps to restart the period for the next calibration
+ */
+void do_change_freq(struct vcpu_time_info *info, unsigned int old, unsigned int new, int cpu_num)
+{
+ u64 new_mult, curr_tsc;
+ s...
2006 Oct 04
0
[PATCH,RFC 6/17] 32-on-64 shared info handling
...>time.tsc_timestamp !=
+ if ( vcpu_info(v, time.tsc_timestamp) !=
this_cpu(cpu_time).local_tsc_stamp )
__update_vcpu_system_time(v);
}
@@ -698,10 +698,10 @@ void update_vcpu_system_time(struct vcpu
void update_domain_wallclock_time(struct domain *d)
{
spin_lock(&wc_lock);
- version_update_begin(&d->shared_info->wc_version);
- d->shared_info->wc_sec = wc_sec + d->time_offset_seconds;
- d->shared_info->wc_nsec = wc_nsec;
- version_update_end(&d->shared_info->wc_version);
+ version_update_begin(&shared_info(d, wc...