[GHC] #7602: Threaded RTS performing badly on recent OS X (10.8?)

GHC ghc-devs at haskell.org
Mon Jan 20 03:50:21 UTC 2014


#7602: Threaded RTS performing badly on recent OS X (10.8?)
-----------------------------------+----------------------------------
        Reporter:  simonmar        |            Owner:  thoughtpolice
            Type:  bug             |           Status:  new
        Priority:  highest         |        Milestone:  7.8.1
       Component:  Runtime System  |          Version:  7.7
      Resolution:                  |         Keywords:
Operating System:  MacOS X         |     Architecture:  x86_64 (amd64)
 Type of failure:  None/Unknown    |       Difficulty:  Unknown
       Test Case:                  |       Blocked By:  7678
        Blocking:                  |  Related Tickets:
-----------------------------------+----------------------------------

Comment (by Andrea):

 Replying to [comment:33 thoughtpolice]:
 > Furthermore I can't find the source code for `pthread_getspecific` & co,
 so it's impossible to check if my 10.8 fix still works OK.

 The most recent `pthread_getspecific` source released by Apple was part of
 Libc-825.40.1. You can find it here:
 http://www.opensource.apple.com/source/Libc/Libc-825.40.1/x86_64/pthreads/pthread_getspecific.s

 Following Libc-825.40.1 Apple released the source for Libc-997.1.1 but the
 `pthread_getspecific` code is missing (they forgot it:
 http://lists.apple.com/archives/darwin-dev/2013/Nov/msg00002.html).

 I'm not an uber expert but TLS seems now to be working very similarly to
 how it works on other unixes and therefore it's unlikely that there has
 been any further change to `pthread_getspecific`. So maybe an inline
 function (like the `_pthread_getspecific_direct` in comment 13) can now be
 used with a key from 'pthread_key_create' without stealing a predefined
 slot. Recommendations in comment 16 by simonmar would still apply, of
 course.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7602#comment:34>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list