cpu_spinwait in cngetc
Andriy Gapon
avg at FreeBSD.org
Sat Sep 22 17:46:17 UTC 2012
on 18/09/2012 16:25 Andriy Gapon said the following:
>
> (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);
>
> [*] :-)
>
I would to re-ping with this question.
Is there any architecture where a cpu_spinwait could cause a surprise?
Or is universally safe?
The most visible place which this change can affect is ddb prompt.
--
Andriy Gapon
More information about the freebsd-hackers
mailing list