Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 May 2004 23:04:14 +0200
From:      Thomas Moestl <t.moestl@tu-bs.de>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/sparc64/sparc64 vm_machdep.c
Message-ID:  <20040521210408.GA1109@timesink.dyndns.org>
In-Reply-To: <200405211007.06100.jhb@FreeBSD.org>
References:  <Pine.BSF.4.21.0405201300140.72391-100000@InterJet.elischer.org> <200405211007.06100.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@tu-bs.de>	http://www.tu-bs.de/~y0015675/
		<tmm@FreeBSD.org>	http://people.FreeBSD.org/~tmm/
"I was going to be a neo-deconstructivist but Mom wouldn't let me."
						-- Calvin and Hobbes



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