On Mon, Feb 04, 2002 at 08:42:47PM -0800, H . J . Lu wrote: > On Mon, Feb 04, 2002 at 09:58:04PM -0500, Daniel Jacobowitz wrote: > > > > > --- libc/linuxthreads/sysdeps/mips/pspinlock.c.llsc Mon Feb 4 13:45:01 2002 > > > +++ libc/linuxthreads/sysdeps/mips/pspinlock.c Mon Feb 4 17:09:02 2002 > > > @@ -40,7 +40,7 @@ __pthread_spin_lock (pthread_spinlock_t > > > "bnez %1,1b\n\t" > > > " li %2,1\n\t" > > > "sc %2,%0\n\t" > > > - "beqzl %2,1b\n\t" > > > + "beqz %2,1b\n\t" > > > " ll %1,%3\n\t" > > > ".set pop" > > > : "=m" (*lock), "=&r" (tmp1), "=&r" (tmp2) > > > > Is that really what you meant to do? The ll is now in the delay slot > > of the beqz. > > Yes, it is ok since we don't care what ll does if the branch is not > taken. Won't this cause some gratuitous thrashing if someone else is trying to get the spinlock at the same time? -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer