cpu: cpu_idle_job SMT priority fix
Calling cpu_relax resets the SMT priority to medium, causing the idle
loop not to run with lowest priority. Just use barrier() instead, this
saves about 3 seconds on a SMT4 systemsim (mambo) boot.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
diff --git a/core/cpu.c b/core/cpu.c
index f58aeb2..5c10fc6 100644
--- a/core/cpu.c
+++ b/core/cpu.c
@@ -547,7 +547,6 @@
while (!cpu_check_jobs(cpu)) {
if (pm_enabled)
break;
- cpu_relax();
barrier();
}
smt_medium();