Bryce McKinlay wrote:
Andreas Tobler wrote:
the attached patch enables enable_hash_synchronization_default and
slow_pthread_self on darwin. The hash sync part is necessary to
get some swing stuff working. Without we hang forever.
About the benefit of slow_pthread_self I'm not quite sure. Maybe
it would help on a G5?
I do wonder if slow_pthread_self is neccessary on darwin.
Presumably/hopefully their ABI has a fast way to get the Thread ID?
If so then then the slow_pthread_self implementation may actually
end up being slower than a pthread_self() call, because it requires
a read barrier. We plan to remove slow_pthread_self eventually for
Linux, once most people are using nptl.
Otherwise, this patch looks good.
Thanks!
I give it a test run without slow_pthread_self.
Is there an easy method to check the performance?
Here is how pthread_self done on PPC Darwin:
on G3 (750) and G4(74xx):
a system call so it calls into the kernel.
on G5 (970):
one instruction, a move from special register which can be accessed
from
user