Module Name: src
Committed By: maya
Date: Wed May 31 00:19:17 UTC 2017
Modified Files:
src/sys/arch/x86/x86: cpu.c
Log Message:
Do not pause many times between testing if the CPU can go.
This only impacts QEMU as QEMU's implementation of pause is
significantly slower than its implementation of nop.
PR kern/51623: running qemu-x86_64 with -smp 4 - the additional
CPUs don't start.
To generate a diff of this commit:
cvs rdiff -u -r1.125 -r1.126 src/sys/arch/x86/x86/cpu.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/x86/x86/cpu.c
diff -u src/sys/arch/x86/x86/cpu.c:1.125 src/sys/arch/x86/x86/cpu.c:1.126
--- src/sys/arch/x86/x86/cpu.c:1.125 Tue May 23 08:54:39 2017
+++ src/sys/arch/x86/x86/cpu.c Wed May 31 00:19:17 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu.c,v 1.125 2017/05/23 08:54:39 nonaka Exp $ */
+/* $NetBSD: cpu.c,v 1.126 2017/05/31 00:19:17 maya Exp $ */
/*-
* Copyright (c) 2000-2012 NetBSD Foundation, Inc.
@@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.125 2017/05/23 08:54:39 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.126 2017/05/31 00:19:17 maya Exp $");
#include "opt_ddb.h"
#include "opt_mpbios.h" /* for MPDEBUG */
@@ -802,7 +802,7 @@ cpu_hatch(void *v)
{
struct cpu_info *ci = (struct cpu_info *)v;
struct pcb *pcb;
- int s, i;
+ int s;
cpu_init_msrs(ci, true);
cpu_probe(ci);
@@ -835,9 +835,7 @@ cpu_hatch(void *v)
}
x86_mwait(0, 0);
} else {
- for (i = 10000; i != 0; i--) {
- x86_pause();
- }
+ x86_pause();
}
}