MIPS deadlock bug fix

Godmar Back kaffe@rufus.w3.org
Wed, 10 Jan 2001 11:55:31 -0700 (MST)



 Walter,

Are you saying that there's no access to any atomic instruction
(test-and-set, cmp-exchange, fetch-and-add, whatever) in usermode
on the MIPS R3000?

Hmmm...
http://www.ddci.dk/support/free/white_papers/monitor.html says the same:
(The reason semaphores and locks are relatively slow to begin with, is 
that the MIPS R3000 architecture does not have an atomic test-and-set 
instruction, so that semaphores and locks must go through a generalized 
system call and machine exception handling process.)

Well, then why don't you put the generic version with jthread_ in 
your config/mips/... file and ifdef it with (R3000) or whatever macro
the compiler defines when compiling for it.  I take it the R4000 fixes
that oversight.

	- Godmar