Hi Maciej, Jun, Didn't mean to bring up a sore point, but it seems that we haven't yet come to a consensus on what policy to have here. I think you both make valid points that I don't necesarily disagree with, but I would like to follow the counterpoint a little further. Maciej W. Rozycki wrote: > On Wed, 23 May 2001, Joe deBlaquiere wrote: > > >> I would vote for option #4 - make sure the ll/sc emulation stuff works >> and use ll/sc in glibc instead of sysmips. Beyond the pthreads mutex > > > Please don't. The emulation is an overkill here and the overhead is > painful for ISA I systems, which are usually not the fastest ones. This > has already been discussed here. > There's overhead to sysmips also, so neither one is going to give stunning performance. All out performance isn't likely an issue on one of these systems anyways. > If you want to go for speed and use ll/sc on an ISA II+ system, then > compile glibc for ISA II or better. It will never call sysmips() then. The problem here is that now I have mips, mipsel, and mipselnollsc configurations of the cross-tools, the c library and the binary applications. It's one extra configuration to maintain. There's no way to solve the endianness issues, but using emulation to handle missing instructions (be they floating point or ll/sc, or what-have-you) solves the minor differences in the instruction set from the library/application standpoint. If all MIPS processors used the same instruction set then we wouldn't have the problem at all. Of course there are very good reasons (and probably some silly ones too...) why ISAs are tailored. The kernel is already going to have to adjust some anyway, so keeping the differences in the kernel doesn't increase the testing burden. Throwing the problem over to glibc (and the toolchain) does increase the number of active configurations. Just my opinion. -- Joe deBlaquiere Red Hat, Inc. 307 Wynn Drive Huntsville AL, 35805 voice : (256)-704-9200 fax : (256)-837-3839