Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Feb 2004 11:18:43 +1000
From:      Peter Grehan <grehan@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: Alu Powerbook
Message-ID:  <40283173.1010706@freebsd.org>
In-Reply-To: <200402091433.20467.jhb@FreeBSD.org>
References:  <20040206000245.20a84f0c@zZzZ.segfaulted.com> <20040209084040.6718d16e@zZzZ.segfaulted.com> <40279A60.4060002@freebsd.org> <200402091433.20467.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40283173.1010706>