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>