Skip to contentSkip to conversation

Alan says this needs fixing... (timer/cpu_relax)

PATCH In review Russell King 2 participants 2 messages Jul 21, 2002

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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