On 22-Oct-00 [EMAIL PROTECTED] wrote:
>>
>> On 20-Oct-00 Valentin Chopov wrote:
>> > I found that if I remove #ifndef SMP /#endif in:
>>
>> Errr, this doesn't really make sense, and if anything is probably
>> hiding the problem. Also, this change will potentially increase
>> interrupt latency even further on SMP machines.
>
> Interrupts are disabled if Giant is busy in vm_page_zero_idle, thus
> the idle proc calls mi_switch with interrupts disabled and the process
> being scheduled starts running with interrupts disabled.
>
> I suggest removing the asm statement from vm_page_zero_idle as a first
> stage in rewriting vm_page_zero_idle.
Ahhhh.. Thanks for the tip. I didn't know that vm_page_zero_idle
was this evil. Yuck. In fact, vm_page_zero_idle() is no longer called
with interrupts disabled, so all the interrupt foolishness can go away.
--
John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message