Subject: Re: 3.1_STABLE and SMP
To: Stephen Borrill <netbsd@precedence.co.uk>
From: Andrew Doran <ad@netbsd.org>
List: port-i386
Date: 04/20/2007 23:41:02
On Fri, Apr 20, 2007 at 12:46:53PM +0100, Stephen Borrill wrote:

> >Do you have a DDB stack backtrace, assuming you can get into DDB from
> >the hung state?
> 
> I got emailed a screenshot of one:
> http://projects.precedence.co.uk/netbsd/ddb1.jpg

I have seen reports of something similar. In addition to what Greg
mentioned, it's possible that:

- this CPU holds the kernel lock and is spin waiting on the pmap lock
- another cpu holds the pmap lock, has taken an interrupt, and is spin
  waiting on the kernel lock

That should not happen unless there is a bug somewhere. How many CPUs does
the machine have? If it happens again, could you ask the custy to do a:

mach cpu 0
tr
mach cpu 1
tr
mach cpu ...
tr

A dump of the held simplelocks would be good to get too, but I can't
remember the particular function to call from ddb.

Cheers,
Andrew