cvs commit: src/sys/sparc64/sparc64 vm_machdep.c

Thomas Moestl t.moestl at tu-bs.de
Fri May 21 14:04:11 PDT 2004


On Fri, 2004/05/21 at 10:07:06 -0400, John Baldwin wrote:
> On Thursday 20 May 2004 04:04 pm, Julian Elischer wrote:
> > On Thu, 20 May 2004, Thomas Moestl wrote:
> > > On Thu, 2004/05/20 at 11:48:19 -0700, Julian Elischer wrote:
> > > > While you are there, can you rename it to cpu_exit2()
> > > > as it has nothing to do with the scheduler..
> > >
> > > As I mentioned previously, the connection is that this function must
> > > be called with sched_lock held (and it must be held until the final
> > > cpu_throw() after that). It does tasks that have a connection to
> > > thread switching, so the name is not really inappropriate.
> > >
> > > cpu_exit2 is far less descriptive as a name.
> >
> > but less misleading than cpu_sched_sxit()
> >
> > switching is nothing to do with the scheduler..
> 
> Uh, switching between threads is all the scheduler does.  cpu_exit2() is a 
> horrible name.  One question for Thomas, can the sparc64 cpu_switch() and/or 
> cpu_throw() just call this function directly to avoid having exit1
> ()/thread_exit()/whoever know about it?

That would be impractical, because with the current code, there is a
small race window that would require to move the cpu_sched_exit() call
before setting the process state to PRS_ZOMB. Moving the code to
cpu_throw() would make this completely impossible.
However, I am currently testing a patch that moves that work to
pmap_release(), which IMHO also makes the code a bit cleaner. That
would allow us to remove that callback, and fix the race at the same
time.

	- Thomas

-- 
Thomas Moestl	<t.moestl at tu-bs.de>	http://www.tu-bs.de/~y0015675/
		<tmm at FreeBSD.org>	http://people.FreeBSD.org/~tmm/
"I was going to be a neo-deconstructivist but Mom wouldn't let me."
						-- Calvin and Hobbes


More information about the cvs-src mailing list