Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 1999 11:23:11 -0500 (EST)
From:      David Gilbert <dgilbert@velocet.ca>
To:        stable@freebsd.org
Subject:   curproc 0?
Message-ID:  <14402.43119.163568.35734@trooper.velocet.net>

next in thread | raw e-mail | index | archive | help
I was going through the crash I just posted, and I was looking at the
tsleep funciton in kern_synch.c.  line 382 is:

        struct proc *p = curproc;

... now doing a 'p curproc' in gdb gave 0... so I'm wondering where
curproc comes from --- a static variable somewhere?

I've been experimenting with vinum here.  I have 8 18Gig Atlas
IV's.... and I gather this has something to do with how busy I make
them.

If I 'dump -0af - /usr | team 1m 8 | restore rf -' ... then I get the
crash I just posted.  If I remove team, then I don't get the crash.

Similarly, I was running bonnie processes in parallel --- to see how
the performance was affected by number of processes hitting the
drives.  With 1, 2, 3, or 4 bonnie processes, everything ran fine.
With 8 bonnie processes, I got the crash.

I can repeat this at will and the system can be made available for
testing as required, too.

vinumlock.c calls tsleep in a function that's dealing with locks over
the range of stripes on the volume.  Is the call to tsleep() improper
here because it can somehow occur when we are not within a process?

Dave.

-- 
============================================================================
|David Gilbert, Velocet Communications.       | Two things can only be     |
|Mail:       dgilbert@velocet.net             |  equal if and only if they |
|http://www.velocet.net/~dgilbert             |   are precisely opposite.  |
=========================================================GLO================


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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