[commit: ghc] master: Revert "Per-thread allocation counters and limits" (f0fcc41)

Peter Trommler ptrommler at me.com
Tue May 13 08:06:41 UTC 2014


Hi Karel,

This issue is ticket #9055, which also contains a patch. Could we please merge it?

Peter

On 13.05.2014, at 08:30, Karel Gardas <karel.gardas at centrum.cz> wrote:

> 
> Hello Simon,
> 
> I'm sorry to disturb you, but I've noticed that your revert patch below contains this change:
> 
> diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs
> index f3abb3d..3d6dd41 100644
> --- a/includes/CodeGen.Platform.hs
> +++ b/includes/CodeGen.Platform.hs
> @@ -741,8 +741,10 @@ globalRegMaybe CurrentTSO               = Just (RealRegSingle REG_CurrentTSO)
> # ifdef REG_CurrentNursery
> globalRegMaybe CurrentNursery           = Just (RealRegSingle REG_CurrentNursery)
> # endif
> -#endif
> globalRegMaybe _                        = Nothing
> +#else
> +globalRegMaybe = panic "globalRegMaybe not defined for this platform"
> +#endif
> 
> 
> and I'm not sure if this is intentional or just overlooked addition. The problem with this line is that it causes stage1 panic on unregisterised build on PPC64 platform:
> 
> http://haskell.inf.elte.hu/builders/linux-ppc64-head/41/10.html
> 
> and we have not had such panic before the patch:
> 
> http://haskell.inf.elte.hu/builders/linux-ppc64-head/31/10.html -- well, you see that dll-split segfaults, but at least ghc-stage1 is proved to work well here.
> 
> Kudos to Gabor Pali who spotted this on PPC64 builder...
> 
> Thanks!
> Karel
> 
> On 05/ 4/14 11:45 PM, git at git.haskell.org wrote:
>> Repository : ssh://git@git.haskell.org/ghc
>> 
>> On branch  : master
>> Link       : http://ghc.haskell.org/trac/ghc/changeset/f0fcc41d755876a1b02d1c7c79f57515059f6417/ghc
>> 
>>> ---------------------------------------------------------------
>> 
>> commit f0fcc41d755876a1b02d1c7c79f57515059f6417
>> Author: Simon Marlow<marlowsd at gmail.com>
>> Date:   Sun May 4 20:27:42 2014 +0100
>> 
>>     Revert "Per-thread allocation counters and limits"
>> 
>>     Problems were found on 32-bit platforms, I'll commit again when I have a fix.
>> 
>>     This reverts the following commits:
>>        54b31f744848da872c7c6366dea840748e01b5cf
>>        b0534f78a73f972e279eed4447a5687bd6a8308e
>> 
>> 
>>> ---------------------------------------------------------------
>> 
>> f0fcc41d755876a1b02d1c7c79f57515059f6417
>>  compiler/cmm/CmmLayoutStack.hs                     |   9 +-
>>  compiler/codeGen/StgCmmForeign.hs                  | 268 ++++++---------------
>>  includes/CodeGen.Platform.hs                       |   4 +-
>>  includes/rts/Constants.h                           |   6 -
>>  includes/rts/Flags.h                               |   8 -
>>  includes/rts/Threads.h                             |   8 +-
>>  includes/rts/storage/TSO.h                         |  31 +--
>>  libraries/base/Control/Exception.hs                |   1 -
>>  libraries/base/Control/Exception/Base.hs           |   1 -
>>  libraries/base/GHC/Conc.lhs                        |   6 -
>>  libraries/base/GHC/Conc/Sync.lhs                   |  92 +------
>>  libraries/base/GHC/IO/Exception.hs                 |  21 +-
>>  rts/HeapStackCheck.cmm                             |   4 +-
>>  rts/Linker.c                                       |   4 -
>>  rts/Prelude.h                                      |   2 -
>>  rts/RaiseAsync.c                                   |  54 -----
>>  rts/RaiseAsync.h                                   |   4 -
>>  rts/RtsFlags.c                                     |  10 -
>>  rts/RtsStartup.c                                   |   1 -
>>  rts/Schedule.c                                     |  19 --
>>  rts/Threads.c                                      |  77 +++---
>>  rts/package.conf.in                                |   2 -
>>  rts/sm/Storage.c                                   |   6 -
>>  rts/win32/libHSbase.def                            |   1 -
>>  testsuite/tests/concurrent/should_run/all.T        |   7 -
>>  .../tests/concurrent/should_run/allocLimit1.hs     |   9 -
>>  .../tests/concurrent/should_run/allocLimit1.stderr |   1 -
>>  .../tests/concurrent/should_run/allocLimit2.hs     |  17 --
>>  .../tests/concurrent/should_run/allocLimit3.hs     |  15 --
>>  .../tests/concurrent/should_run/allocLimit3.stderr |   1 -
>>  .../tests/concurrent/should_run/allocLimit3.stdout |   1 -
>>  .../tests/concurrent/should_run/allocLimit4.hs     |  31 ---
>>  utils/deriveConstants/DeriveConstants.hs           |   1 -
>>  33 files changed, 144 insertions(+), 578 deletions(-)
>> 
>> Diff suppressed because of size. To see it, use:
>> 
>>     git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc f0fcc41d755876a1b02d1c7c79f57515059f6417
>> _______________________________________________
>> ghc-commits mailing list
>> ghc-commits at haskell.org
>> http://www.haskell.org/mailman/listinfo/ghc-commits
>> 
> 
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs



More information about the ghc-devs mailing list