cpu_spinwait in cngetc
Julian Elischer
julian at freebsd.org
Sun Sep 23 05:55:43 UTC 2012
On 9/22/12 10:46 AM, Andriy Gapon wrote:
> 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.
>
>
looks like the right thing to do
More information about the freebsd-hackers
mailing list