sparc64: Fix cpu strand yielding.
[deliverable/linux.git] / arch / sparc / include / asm / processor_64.h
index 4e5a483122a043a7eeba9e42001d32cdf56c0015..986563409469bcabd532942808466c84c39e6ddd 100644 (file)
@@ -196,7 +196,10 @@ extern unsigned long get_wchan(struct task_struct *task);
 #define KSTK_EIP(tsk)  (task_pt_regs(tsk)->tpc)
 #define KSTK_ESP(tsk)  (task_pt_regs(tsk)->u_regs[UREG_FP])
 
-#define cpu_relax()    barrier()
+#define cpu_relax()    asm volatile("rd        %%ccr, %%g0\n\t" \
+                                    "rd        %%ccr, %%g0\n\t" \
+                                    "rd        %%ccr, %%g0" \
+                                    ::: "memory")
 
 /* Prefetch support.  This is tuned for UltraSPARC-III and later.
  * UltraSPARC-I will treat these as nops, and UltraSPARC-II has
This page took 0.025311 seconds and 5 git commands to generate.