|
|
|
|
|
|
|
|
|
|
xen-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH RFC] do_settime is backwards?!,
Rik van Riel <=
|
|
|
|
|