On Wed, May 23, 2001 at 11:41:57AM -0700, Jun Sun wrote: > Like I said in the previous email, ll/sc emulation is at least twice as bad as > sysmips(). The likely failure of sc will make the performance even worse. In > addition, the new glibc starts to pthread massively now (try 'ls' and you will > see). I do think performance is a factor here. There are a lot of glibc issues to have a look at - Try issueing a "sleep" compiled against glibc 2.2 and you'll see at least 20-30 sysmips/shed_yield calls. As for sleep this is completely unecessary but i guess this is common glibc startup code and on most architectures atomic test/set instructions are not as painful as on non ll/sc mips cpus. > I see the trouble of having extra configurations. If you were planning to > have separate support for MIPS I and MIPS II systems, you should be covered. > After all there are only limited number of variants anyway - so far. :-) My favourit would be to let the glibc on runtime decide whether to use sysmips or ll/sc in the atomic test_and_set stuff. This would lead to an common atom op in the userspace which is fast on ll/sc cpus and gives much lesser performance penaltys in the sysmips case than emulating ll/sc. Flo -- Florian Lohoff flo@rfc822.org +49-5201-669912 Why is it called "common sense" when nobody seems to have any?