[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [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've overlooked some detail, but just in case I am right here's a patch to reverse the assignments. How did this ever work? Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> --- diff -up xen/arch/x86/time.c.backwards xen/arch/x86/time.c --- xen/arch/x86/time.c.backwards 2008-08-06 17:33:26.000000000 -0400 +++ xen/arch/x86/time.c 2008-08-06 17:33:45.000000000 -0400 @@ -823,8 +823,8 @@ void do_settime(unsigned long secs, unsi y = do_div(x, 1000000000); spin_lock(&wc_lock); - wc_sec = _wc_sec = (u32)x; - wc_nsec = _wc_nsec = (u32)y; + wc_sec = _wc_sec = (u32)y; + wc_nsec = _wc_nsec = (u32)x; spin_unlock(&wc_lock); rcu_read_lock(&domlist_read_lock); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |