This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 27 Apr, 2012 1 commit
  2. 26 Apr, 2012 5 commits
  3. 24 Apr, 2012 3 commits
  4. 11 Apr, 2012 1 commit
    • Simon Marlow's avatar
      Improve the handling of threadDelay in the non-threaded RTS · 9d26519c
      Simon Marlow authored
      Firstly, we were rounding up too much, such that the smallest delay
      was 20ms.  Secondly, there is no need to use millisecond resolution on
      a 64-bit machine where we have room in the TSO to use the normal
      nanosecond resolution that we use elsewhere in the RTS.
      9d26519c
  5. 04 Apr, 2012 5 commits
    • Mikolaj Konarski's avatar
      Add the GC_GLOBAL_SYNC event marking that all caps are stopped for GC · c294d95d
      Mikolaj Konarski authored
      Quoting design rationale by dcoutts: The event indicates that we're doing
      a stop-the-world GC and all other HECs should be between their GC_START
      and GC_END events at that moment. We don't want to use GC_STATS_GHC
      for that, because GC_STATS_GHC is for extra GHC-specific info,
      not something we have to rely on to be able to match the GC pauses
      across HECs to a particular global GC.
      c294d95d
    • Duncan Coutts's avatar
      Adjust the eventlog description header for the spark counter event · a3cdefd2
      Duncan Coutts authored
      The EventLogFormat.h described the spark counter fields in a different
      order to that which ghc emits (the GC'd and fizzled fields were
      reversed). At this stage it is easier to fix the ghc-events lib and
      to have ghc continue to emit them in the current order.
      a3cdefd2
    • Duncan Coutts's avatar
      Add new eventlog events for various heap and GC statistics · 65aaa9b2
      Duncan Coutts authored
      They cover much the same info as is available via the GHC.Stats module
      or via the '+RTS -s' textual output, but via the eventlog and with a
      better sampling frequency.
      
      We have three new generic heap info events and two very GHC-specific
      ones. (The hope is the general ones are usable by other implementations
      that use the same eventlog system, or indeed not so sensitive to changes
      in GHC itself.)
      
      The general ones are:
      
       * total heap mem allocated since prog start, on a per-HEC basis
       * current size of the heap (MBlocks reserved from OS for the heap)
       * current size of live data in the heap
      
      Currently these are all emitted by GHC at GC time (live data only at
      major GC).
      
      The GHC specific ones are:
      
       * an event giving various static heap paramaters:
         * number of generations (usually 2)
         * max size if any
         * nursary size
         * MBlock and block sizes
       * a event emitted on each GC containing:
         * GC generation (usually just 0,1)
         * total bytes copied
         * bytes lost to heap slop and fragmentation
         * the number of threads in the parallel GC (1 for serial)
         * the maximum number of bytes copied by any par GC thread
         * the total number of bytes copied by all par GC threads
           (these last three can be used to calculate an estimate of the
            work balance in parallel GCs)
      65aaa9b2
    • Duncan Coutts's avatar
      Change the presentation of parallel GC work balance in +RTS -s · cd930da1
      Duncan Coutts authored
      Also rename internal variables to make the names match what they hold.
      The parallel GC work balance is calculated using the total amount of
      memory copied by all GC threads, and the maximum copied by any
      individual thread. You have serial GC when the max is the same as
      copied, and perfectly balanced GC when total/max == n_caps.
      
      Previously we presented this as the ratio total/max and told users
      that the serial value was 1 and the ideal value N, for N caps, e.g.
      
        Parallel GC work balance: 1.05 (4045071 / 3846774, ideal 2)
      
      The downside of this is that the user always has to keep in mind the
      number of cores being used. Our new presentation uses a normalised
      scale 0--1 as a percentage. The 0% means completely serial and 100%
      is perfect balance, e.g.
      
        Parallel GC work balance: 4.56% (serial 0%, perfect 100%)
      cd930da1
    • Duncan Coutts's avatar
      Add eventlog/trace stuff for capabilities: create/delete/enable/disable · f9c2e854
      Duncan Coutts authored
      Now that we can adjust the number of capabilities on the fly, we need
      this reflected in the eventlog. Previously the eventlog had a single
      startup event that declared a static number of capabilities. Obviously
      that's no good anymore.
      
      For compatability we're keeping the EVENT_STARTUP but adding new
      EVENT_CAP_CREATE/DELETE. The EVENT_CAP_DELETE is actually just the old
      EVENT_SHUTDOWN but renamed and extended (using the existing mechanism
      to extend eventlog events in a compatible way). So we now emit both
      EVENT_STARTUP and EVENT_CAP_CREATE. One day we will drop EVENT_STARTUP.
      
      Since reducing the number of capabilities at runtime does not really
      delete them, it just disables them, then we also have new events for
      disable/enable.
      
      The old EVENT_SHUTDOWN was in the scheduler class of events. The new
      EVENT_CAP_* events are in the unconditional class, along with the
      EVENT_CAPSET_* ones. Knowing when capabilities are created and deleted
      is crucial to making sense of eventlogs, you always want those events.
      In any case, they're extremely low volume.
      f9c2e854
  6. 23 Mar, 2012 6 commits
  7. 19 Mar, 2012 1 commit
  8. 18 Mar, 2012 1 commit
  9. 16 Mar, 2012 1 commit
    • Ian Lynagh's avatar
      Soem more Wind64 fixes · 7a60d635
      Ian Lynagh authored
      We may need to do this differently once we get as far as building the
      RTS in the dyn ways.
      7a60d635
  10. 15 Mar, 2012 3 commits
  11. 14 Mar, 2012 1 commit
  12. 13 Mar, 2012 1 commit
  13. 11 Mar, 2012 1 commit
  14. 27 Feb, 2012 3 commits
  15. 30 Jan, 2012 1 commit
  16. 15 Jan, 2012 1 commit
    • Ian Lynagh's avatar
      Fix a #define · 54121fff
      Ian Lynagh authored
      I don't think it was causing any problems, but
          TimeToUS(x+y)
      would have evaluated to
          x + (y / 1000)
      54121fff
  17. 09 Jan, 2012 2 commits
  18. 08 Jan, 2012 1 commit
    • Ian Lynagh's avatar
      Refactoring · 9e452874
      Ian Lynagh authored
      This is working towards being able to put ghcautoconf.h and
      ghcplatform.h in includes/dist
      9e452874
  19. 06 Jan, 2012 2 commits