As you can see, quite different.. "delta_cpu = blocked = 0;" is missing, but might be handled with the rest of the changes in the new code..
Another possibility is that this only applies for i386 (i'm running on x86_64.. )..
I've looked into the patch, and it seems to only patch file arch/i386/kernel/time-xen.c .
There isn't a x86_64 equivalent.. ( arch/x86_64/kernel/time-xen.c doesn't exist ) Is this normal? Could this be the cause?
Essentially this is just a copy of a mail i sent to xen-users:
Well, i've found this link earlier: http:// lists.xensource .com/archives/ html/xen- devel/2006- 03/msg00442. html , but it seems the code has changed quite a bit since then..
Big parts of the patch seem integrated already though..
For example:
Current patch, in use in the running kernel:
+ if ((blocked > 0) && (delta_cpu > 0)) { processed_ blocked_ time, cpu) += blocked * NS_PER_TICK; processed_ system_ time, cpu) += blocked * NS_PER_TICK;
+ delta_cpu -= blocked;
+ if (unlikely(delta_cpu < 0))
+ blocked += delta_cpu; /* clamp local-time progress */
+ do_div(blocked, NS_PER_TICK);
+ per_cpu(
+ per_cpu(
Patch on the link provided above:
if (stolen > 0) {
delta_ cpu -= stolen;
do_div( stolen, NS_PER_TICK);
per_cpu( processed_ stolen_ time, cpu) += stolen * NS_PER_TICK;
per_cpu( processed_ system_ time, cpu) += stolen * NS_PER_TICK;
+ if (unlikely(delta_cpu < 0)) {
+ stolen += delta_cpu;
+ delta_cpu = blocked = 0;
+ }
As you can see, quite different.. "delta_cpu = blocked = 0;" is missing, but might be handled with the rest of the changes in the new code..
Another possibility is that this only applies for i386 (i'm running on x86_64.. ).. kernel/ time-xen. c . 64/kernel/ time-xen. c doesn't exist ) Is this normal? Could this be the cause?
I've looked into the patch, and it seems to only patch file arch/i386/
There isn't a x86_64 equivalent.. ( arch/x86_