- 18 Jul, 2011 12 commits
-
-
Duncan Coutts authored
A new eventlog event containing 7 spark counters/statistics: sparks created, dud, overflowed, converted, GC'd, fizzled and remaining. These are maintained and logged separately for each capability. We log them at startup, on each GC (minor and major) and on shutdown.
-
Duncan Coutts authored
Rather than a separate phase of initSparkPools. It means all the spark stuff for a capability is initialisaed at the same time, which is then becomes a good place to stick an initial spark trace event.
-
Duncan Coutts authored
The invariant is: created = converted + remaining + gcd + fizzled Since sparks move between capabilities, we have to aggregate the counters over all capabilities. This in turn means we can only check the invariant at stable points where all but one capabilities are stopped. We can do this at shutdown time and before and after a global synchronised GC.
-
Duncan Coutts authored
-
Duncan Coutts authored
When you use `par` to make a spark, if the spark pool on the current capability is full then the spark is discarded. This represents a loss of potential parallelism and it also means there are simply a lot of sparks around. Both are things that might be of concern to a programmer when tuning a parallel program that uses par. The "+RTS -s" stats command now reports overflowed sparks, e.g. SPARKS: 100001 (15521 converted, 84480 overflowed, 0 dud, 0 GC'd, 0 fizzled)
-
Duncan Coutts authored
-
Duncan Coutts authored
We want to count fizzled sparks accurately. Now tryStealSpark returns fizzled sparks, and the callers now update the fizzled spark count.
-
Duncan Coutts authored
newSpark() checks if the spark is a dud, and if so does not add it to the spark pool. Previously, newSpark would discard the pointer tag bits and just check closure_SHOULD_SPARK(p). We can take advantage of the tag bits which can tell us if the pointer points to a value. If it is, it's a dud spark and we don't need to add it to the spark pool.
-
Simon Marlow authored
assembly version as part of the fix for #5250, we inadvertently lost the Windows magic for extending the stack. Win32 requires that the stack is extended a page at a time, otherwise you get a segfault. The C compiler knows how to do this, so we now call a C stub to ensure there's enough stack space at each invocation of the scheduler.
-
Simon Marlow authored
-
Simon Peyton Jones authored
-
-
- 17 Jul, 2011 1 commit
-
-
Ian Lynagh authored
When we install the packages, ghc-pkg obeys umask when creating package.cache, but for everything else we specify the permissions. We therefore fix the permissions of package.cache afterwards.
-
- 16 Jul, 2011 1 commit
-
-
Ian Lynagh authored
-
- 15 Jul, 2011 16 commits
-
-
Ian Lynagh authored
Now after, for example, "./sync-all pull", if pulling in one repo fails then you can restart from that point with "./sync-all --resume pull".
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Simon Peyton Jones authored
This change gets rid of a debug WARNING; it wasn't actually making anything go wrong, but it's best to have the correct in-scope set.
-
Simon Peyton Jones authored
-
Sergei Trofimovich authored
"inplace/bin/ghc-stage1" -H32m -O -package-name base-4.4.0.0 -hide-all-packages -i -ilibraries/base/. -ilibraries/base/dist-install/build -ilibraries/base/dist-install/build/autogen -Ilibraries/base/dist-install/build -Ilibraries/base/dist-install/build/autogen -Ilibraries/base/include -optP-DOPTIMISE_INTEGER_GCD_LCM -optP-include -optPlibraries/base/dist-install/build/autogen/cabal_macros.h -package ghc-prim-0.2.0.0 -package integer-gmp-0.3.0.0 -package rts-1.0 -split-objs -package-name base -XHaskell98 -XCPP -O2 -no-user-package-conf -rtsopts -odir libraries/base/dist-install/build -hidir libraries/base/dist-install/build -stubdir libraries/base/dist-install/build -hisuf hi -osuf o -hcsuf hc -c libraries/base/./GHC/Int.hs -o libraries/base/dist-install/build/GHC/Int.o /usr/lib/gcc/sparc-unknown-linux-gnu/4.5.2/../../../../sparc-unknown-linux-gnu/bin/ld: --relax and -r may not be used together collect2: ld returned 1 exit status make[1]: *** [libraries/base/dist-install/build/GHC/Int.o] Error 1 Or with '-v' param: /usr/bin/gcc -fno-stack-protector -nostdlib -nodefaultlibs -Wl,-r -Wl,--build-id=none -Wl,-x -o libraries/base/dist-install/build/GHC/Int.o /tmp/ghc45126_0/ghc45126_0.ldscript /usr/lib/gcc/sparc-unknown-linux-gnu/4.5.2/../../../../sparc-unknown-linux-gnu/bin/ld: --relax and -r may not be used together On SPARC gcc-4.5.2 has -mrelax in it's default specs, so we explicitly pass --no-relax for ld to make sure gcc's default does not affect us. Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org>
-
Simon Peyton Jones authored
See #5320 and discussion there. This patch only removes a bogus assertion failure and refactors the code slightly. There's still an underlying delicate point, described in #5320.
-
Simon Peyton Jones authored
-
Ian Lynagh authored
We now pass the correct platform in instead
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
A coercion variable in a term must be wrapped in a coercion! (Led to lint errors.)
-
Ian Lynagh authored
There's now a variant of the Outputable class that knows what platform we're targetting: class PlatformOutputable a where pprPlatform :: Platform -> a -> SDoc pprPlatformPrec :: Platform -> Rational -> a -> SDoc and various instances have had to be converted to use that class, and we pass Platform around accordingly.
-
dterei authored
-
- 14 Jul, 2011 7 commits
-
-
Erik de Castro Lopo authored
-
Ian Lynagh authored
-
Ian Lynagh authored
The -w flag wasn't turning off a few warnings (Opt_WarnMissingImportList, Opt_WarnMissingLocalSigs, Opt_WarnIdentities). Rather than just adding them, I've separated the Opt_Warn* contructors off into their own type, so -w now just sets the list of warning flags to [].
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 13 Jul, 2011 3 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
Old versions don't understand -Wno-error=inline
-
Ian Lynagh authored
They've been deprecated since GHC 6.12.
-