Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Sep 2000 23:14:40 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Bernd Walter <ticso@cicely5.cicely.de>
Cc:        John Baldwin <jhb@pike.osd.bsdi.com>, alpha@freebsd.org
Subject:   Re: Mutex's aren't recursing
Message-ID:  <Pine.BSF.4.21.0009122313580.86297-100000@salmon.nlsystems.com>
In-Reply-To: <20000912233951.A56554@cicely5.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 12 Sep 2000, Bernd Walter wrote:

> On Tue, Sep 12, 2000 at 09:32:23PM +0100, Doug Rabson wrote:
> > I sent you some mail yesterday about this. I got the constraints wrong for
> > the inline assembler in atomic_cmpset. I disassembled some of the code in
> > interrupt.c which is trying to enter the mutex. You can clearly see that
> > it is misusing t1 as both an input and output to the inline.
> > 
> > 0xfffffc00005542c4 <interrupt+900>:	lda	t1,8(zero)
> > 0xfffffc00005542c8 <interrupt+904>:	ldq	t0,64(t7)
> > 0xfffffc00005542cc <interrupt+908>:	ldq_l	t1,0(s1)
> > 0xfffffc00005542d0 <interrupt+912>:	cmpeq	t1,t1,t2
> > 0xfffffc00005542d4 <interrupt+916>:	beq	t2,0xfffffc00005542e4 <interrupt+932>
> > 0xfffffc00005542d8 <interrupt+920>:	mov	t0,t1
> > 0xfffffc00005542dc <interrupt+924>:	stq_c	t1,0(s1)
> > 
> > I'm just about to start testing this patch which should fix the problem
> > and also provides efficent forms for
> > atomic_{add,subtract,set,clear}_{32,64}. I also fixed the interrupt
> > problems with the spin locks (I think).
> 
> Your patch does the following on a PC164 to me:
> 1. The mutex change will hang my system every second boot during PCI device
>    printings.

I still don't understand this one fully. I think its orthogonal to the
mutex problems.

> 2. Both changes panic the system on boot:
> [...]

I see that too - I'm trying to debug it now.

-- 
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 20 8348 3944




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




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