x86, tsc: Fix a preemption leak in restore_sched_clock_state()
authorPeter Zijlstra <[email protected]>
Fri, 10 Sep 2010 20:32:53 +0000 (22:32 +0200)
committerIngo Molnar <[email protected]>
Sat, 11 Sep 2010 07:47:07 +0000 (09:47 +0200)
Doh, a real life genuine preemption leak..

This caused a suspend failure.

Reported-bisected-and-tested-by-the-invaluable: Jeff Chua <[email protected]>
Acked-by: Suresh Siddha <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Cc: Rafael J. Wysocki <[email protected]>
Cc: Nico Schottelius <[email protected]>
Cc: Jesse Barnes <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Florian Pritz <[email protected]>
Cc: Suresh Siddha <[email protected]>
Cc: Len Brown <[email protected]>
Cc: <[email protected]> # Greg, please apply after: cd7240c ("x86, tsc, sched: Recompute cyc2ns_offset's during resume from")
sleep states
LKML-Reference: <1284150773.402.122.camel@laptop>
Signed-off-by: Ingo Molnar <[email protected]>
arch/x86/kernel/tsc.c

index d632934cb6386947352650f262745eb3c93c68ce..26a863a9c2a815ec797b6211cd3de5e0b9cbed8e 100644 (file)
@@ -655,7 +655,7 @@ void restore_sched_clock_state(void)
 
        local_irq_save(flags);
 
-       get_cpu_var(cyc2ns_offset) = 0;
+       __get_cpu_var(cyc2ns_offset) = 0;
        offset = cyc2ns_suspend - sched_clock();
 
        for_each_possible_cpu(cpu)