Fwd: patch applied (ghc): make the smp way RTS-only, normal libraries now work with -smp

Bulat Ziganshin bulatz at HotPOP.com
Wed Feb 8 12:31:33 EST 2006


i think that this should be interesting for GHC users


This is a forwarded message
From: Simon Marlow <simonmar at microsoft.com>
To: cvs-ghc at haskell.org
Date: Wednesday, February 08, 2006, 5:40:19 PM
Subject: patch applied (ghc): make the smp way RTS-only, normal libraries now work with -smp

===8<==============Original message text===============
Wed Feb  8 06:33:48 PST 2006  Simon Marlow <simonmar at microsoft.com>
  * make the smp way RTS-only, normal libraries now work with -smp
  
  We had to bite the bullet here and add an extra word to every thunk,
  to enable running ordinary libraries on SMP.  Otherwise, we would have
  needed to ship an extra set of libraries with GHC 6.6 in addition to
  the two sets we already ship (normal + profiled), and all Cabal
  packages would have to be compiled for SMP too.  We decided it best
  just to take the hit now, making SMP easily accessible to everyone in
  GHC 6.6.
  
  Incedentally, although this increases allocation by around 12% on
  average, the performance hit is around 5%, and much less if your inner
  loop doesn't use any laziness.

    M ./ghc/compiler/codeGen/CgForeignCall.hs -6 +5
    M ./ghc/compiler/codeGen/CgHeapery.lhs -3 +1
    M ./ghc/compiler/codeGen/CgPrimOp.hs -4 +1
    M ./ghc/compiler/codeGen/ClosureInfo.lhs -24 +15
    M ./ghc/compiler/codeGen/SMRep.lhs -3 +2
    M ./ghc/compiler/ghci/ByteCodeAsm.lhs +2
    M ./ghc/compiler/ghci/ByteCodeGen.lhs -11 +13
    M ./ghc/compiler/ghci/ByteCodeInstr.lhs -1 +3
    M ./ghc/compiler/ghci/ByteCodeItbls.lhs -3 +3
    M ./ghc/compiler/main/Constants.lhs -2 +1
    M ./ghc/compiler/main/StaticFlags.hs -7 +4
    M ./ghc/includes/Bytecodes.h -22 +23
    M ./ghc/includes/Closures.h -11 +10
    M ./ghc/includes/Cmm.h -4
    M ./ghc/includes/Constants.h -21 +4
    M ./ghc/includes/Storage.h -2 +67
    M ./ghc/includes/mkDerivedConstants.c -39 +6
    M ./ghc/rts/Apply.cmm -1 +1
    M ./ghc/rts/GC.c -6 +6
    M ./ghc/rts/GCCompact.c -55 +1
    M ./ghc/rts/Interpreter.c -21 +30
    M ./ghc/rts/LdvProfile.c -89 +19
    M ./ghc/rts/LdvProfile.h -1 +1
    M ./ghc/rts/Linker.c +2
    M ./ghc/rts/ProfHeap.c -3 +3
    M ./ghc/rts/RetainerProfile.c -93 +1
    M ./ghc/rts/Sanity.c -7 +7
    M ./ghc/rts/Schedule.c -3 +3
    M ./ghc/rts/Sparks.c +10
    M ./ghc/rts/Sparks.h -1 +4
    M ./ghc/rts/Updates.h -18 +25
    M ./mk/config.mk.in -6 +8
_______________________________________________
Cvs-ghc mailing list
Cvs-ghc at haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

===8<===========End of original message text===========



-- 
Best regards,
 Bulat                            mailto:bulatz at HotPOP.com





More information about the Glasgow-haskell-users mailing list