Alu Powerbook
Peter Grehan
grehan at freebsd.org
Mon Feb 9 17:16:52 PST 2004
Hi John,
A few questions:
>> The second argument of ithread_schedule determines if the current
>>thread can be pre-empted. The sparc64 and ia64 ports both leave this
>>as zero, and ppc followed suit to be conservative.
>
> Actually, it should be turned on for each arch that can handle it. However,
> it should be !cold as in i386 case as it isn't safe to switch yet when cold
> is set. Alpha doesn't have it on as the last time I tried it on SMP it
> caused hangs under load. I do not know why other archs have it disabled.
Are there any gotchas as to what defines "can handle it" ?
With the '!cold' case on 386/amd64, is that because threads running
up until that point assume that interrupts can't be delivered, or
shouldn't be pre-empted since they're kernel threads ?
And lastly, whereabouts in interrupt processing would the
oft-talked-about 'context stealing' occurr ? Is it ithread-schedule,
or in MD code before that gets called ?
later,
Peter.
More information about the freebsd-ppc
mailing list