cpu_spinwait in cngetc

Andriy Gapon avg at FreeBSD.org
Tue Sep 18 13:25:13 UTC 2012


(Why[*]) Would anyone object to a change like this?

diff --git a/sys/kern/kern_cons.c b/sys/kern/kern_cons.c
index 5346bc3..d17846a 100644
--- a/sys/kern/kern_cons.c
+++ b/sys/kern/kern_cons.c
@@ -384,7 +384,7 @@ cngetc(void)
 	if (cn_mute)
 		return (-1);
 	while ((c = cncheckc()) == -1)
-		;
+		cpu_spinwait();
 	if (c == '\r')
 		c = '\n';		/* console input is always ICRNL */
 	return (c);

[*] :-)
-- 
Andriy Gapon


More information about the freebsd-hackers mailing list