Alan says this needs fixing... (timer/cpu_relax)
PATCH 1/1 Alan says this needs fixing... (timer/cpu_relax)
While looking at some stuff, I noticed the following. Alan confirmed that this patch is probably a good idea...
kernel/timer.c +1 -1
@@ -176,7 +176,7 @@#define timer_enter (t) do { running_timer = t; mb(); } while (0)#define timer_exit () do { running_timer = NULL; } while (0)#define timer_is_running (t) (running_timer == t) -#define timer_synchronize (t) while (timer_is_running(t)) barrier() +#define timer_synchronize (t) while (timer_is_running(t)) cpu_relax()#else #define timer_enter (t) do { } while (0)#define timer_exit () do { } while (0)
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
kernel/timer.c line 179
Quoted 11 lines · Russell King
While looking at some stuff, I noticed the following. Alan confirmed that this patch is probably a good idea...
kernel/timer.c +1
-1@@ -176,7 +176,7 @@#define timer_enter (t) do { running_timer = t; mb(); } while (0)#define timer_exit () do { running_timer = NULL; } while (0)#define timer_is_running (t) (running_timer == t) -#define timer_synchronize (t) while (timer_is_running(t)) barrier() +#define timer_synchronize (t) while (timer_is_running(t)) cpu_relax()
You still need the barrier() as well