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