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>