PERFORCE change 96007 for review

John Birrell jb at what-creek.com
Mon Apr 24 21:31:36 UTC 2006


On Mon, Apr 24, 2006 at 04:37:07PM -0400, John Baldwin wrote:
> On Monday 24 April 2006 15:13, John Birrell wrote:
> >  	ASSERT(MUTEX_HELD(&dtrace_lock));
> > -	for (i = 0; i < mp_ncpus; i++) {
> > +	for (i = 0; i < mp_maxid; i++) {
> 
> Use <= with mp_maxid.  The range is 0 .. mp_maxid (inclusive).
> 

Yeah I see that now, thanks. I've weeded out mp_ncpus.

What I really need to do is to use the cpu list and only allocate
buffers for the cpus that exist. That's what Solaris does. I'm
not sure what the locking issues are with doing that.

DTrace also needs to go through the module list and it wants
to hold a lock on that, but also allocate memory with wait.

So what I really need is a version of the sx lock which is
recursive for exclusive locks.

Then I need to change the kern/kern_linker.c code to use that
sort of lock, not just a mutex.

Any thoughts on that?

--
John Birrell


More information about the p4-projects mailing list