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>
