1. 24 Jul, 2010 1 commit
  2. 05 Aug, 2010 2 commits
  3. 04 Aug, 2010 1 commit
  4. 01 Aug, 2010 1 commit
  5. 20 Jul, 2010 1 commit
    • pgj's avatar
      Add thread affinity support for FreeBSD · 13346da2
      pgj authored
      - Implement missing functions for setting thread affinity and getting real
        number of processors.
      - It is available starting from 7.1-RELEASE, which includes a native support
        for managing CPU sets.
      - Add __BSD_VISIBLE, since it is required for certain types to be visible in
        addition to POSIX & C99. 
      13346da2
  6. 29 Jul, 2010 1 commit
    • Ian Lynagh's avatar
      Disable symbol visibility pragmas for FreeBSD · 28c2bbb0
      Ian Lynagh authored
      Do not use GCC pragmas for controlling visibility, because it causes
      "undefined reference" errors at link-time.  The true reasons are
      unknown, however FreeBSD 8.x includes GCC 4.2.1 in the base system,
      which might be buggy. 
      28c2bbb0
  7. 28 Jul, 2010 1 commit
  8. 23 Jul, 2010 2 commits
  9. 20 Jul, 2010 1 commit
  10. 16 Jul, 2010 1 commit
    • Simon Marlow's avatar
      Use a separate mutex to protect all_tasks, avoiding a lock-order-reversal · ed301949
      Simon Marlow authored
      In GHC 6.12.x I found a rare deadlock caused by this
      lock-order-reversal:
      
      AQ cap->lock
        startWorkerTask
          newTask
            AQ sched_mutex
      
      scheduleCheckBlackHoles
        AQ sched_mutex
         unblockOne_
          wakeupThreadOnCapabilty
            AQ cap->lock
      
      so sched_mutex and cap->lock are taken in a different order in two
      places.
      
      This doesn't happen in the HEAD because we don't have
      scheduleCheckBlackHoles, but I thought it would be prudent to make
      this less likely to happen in the future by using a different mutex in
      newTask.  We can clearly see that the all_tasks mutex cannot be
      involved in a deadlock, becasue we never call anything else while
      holding it.
      ed301949
  11. 17 Jul, 2010 1 commit
  12. 16 Jul, 2010 2 commits
  13. 13 Jul, 2010 1 commit
  14. 08 Jul, 2010 2 commits
    • Simon Marlow's avatar
      New asynchronous exception control API (ghc parts) · ad3b79d2
      Simon Marlow authored
      As discussed on the libraries/haskell-cafe mailing lists
        http://www.haskell.org/pipermail/libraries/2010-April/013420.html
      
      This is a replacement for block/unblock in the asychronous exceptions
      API to fix a problem whereby a function could unblock asynchronous
      exceptions even if called within a blocked context.
      
      The new terminology is "mask" rather than "block" (to avoid confusion
      due to overloaded meanings of the latter).
      
      In GHC, we changed the names of some primops:
      
        blockAsyncExceptions#   -> maskAsyncExceptions#
        unblockAsyncExceptions# -> unmaskAsyncExceptions#
        asyncExceptionsBlocked# -> getMaskingState#
      
      and added one new primop:
      
        maskUninterruptible#
      
      See the accompanying patch to libraries/base for the API changes.
      ad3b79d2
    • Simon Marlow's avatar
      Win32 getProcessElapsedTime: use a higher-resolution time source · 1fb0f13a
      Simon Marlow authored
      QueryPerformanceCounter() on Windows gives much better resolution than
      GetSystemTimeAsFileTime().
      1fb0f13a
  15. 05 Jul, 2010 1 commit
    • Simon Marlow's avatar
      Disable dynamic linking optimisations on OS X · 062aa8af
      Simon Marlow authored
      To improve performance of the RTS when dynamically linked on x86, I
      previously disabled -fPIC for certain critical modules (the GC, and a
      few others).  However, build reports suggest that the dynamic linker
      on OS X doesn't like this, so I'm disabling this optimsation on that
      platform.
      062aa8af
  16. 01 Jul, 2010 1 commit
  17. 28 Jun, 2010 1 commit
  18. 24 Jun, 2010 4 commits
  19. 22 Jun, 2010 1 commit
    • dmp@rice.edu's avatar
      Add support for collecting PAPI native events · d4942f78
      dmp@rice.edu authored
      This patch extends the PAPI support in the RTS to allow collection of native
      events. PAPI can collect data for native events that are exposed by the
      hardware beyond the PAPI present events. The native events supported on your
      hardware can found by using the papi_native_avail tool.
      
      The RTS already allows users to specify PAPI preset events from the command
      line. This patch extends that support to allow users to specify native events.
      The changes needed are:
      
      1) New option (#) for the RTS PAPI flag for native events. For example, to
         collect the native event 0x40000000, use ./a.out +RTS -a#0x40000000 -sstderr
      
      2) Update the PAPI_FLAGS struct to store whether the user specified event is a
         papi preset or a native event
      
      3) Update init_countable_events function to add the native events after parsing
         the event code and decoding the name using PAPI_event_code_to_name
      d4942f78
  20. 20 Jun, 2010 1 commit
  21. 19 Jun, 2010 2 commits
  22. 01 Jan, 2010 1 commit
  23. 17 Jun, 2010 4 commits
  24. 04 Jun, 2010 1 commit
  25. 09 May, 2010 1 commit
  26. 15 Jun, 2010 1 commit
  27. 11 Jun, 2010 1 commit
  28. 10 Jun, 2010 1 commit
  29. 28 May, 2010 1 commit