Re: [commit: ghc] master: Revert "Per-thread allocation counters and limits" (f0fcc41)
It looks like I accidentally slipped that fix in with the allocation counters patch, and when the patch was reverted the fix was reverted too. I'll commit the fix from the patch (which is probably better, that's what I intended to do all along). Sorry for the mixup! Simon On 13/05/14 07:30, Karel Gardas 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, g...@git.haskell.org wrote: Repository : ssh://g...@git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f0fcc41d755876a1b02d1c7c79f57515059f6417/ghc --- commit f0fcc41d755876a1b02d1c7c79f57515059f6417 Author: Simon Marlow 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-comm...@haskell.org http://www.haskell.org/mailman/listinfo/ghc-commits ___ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
Re: [commit: ghc] master: Revert "Per-thread allocation counters and limits" (f0fcc41)
On 05/13/14 10:06 AM, Peter Trommler wrote: Hi Karel, This issue is ticket #9055, which also contains a patch. Could we please merge it? I'm the second petitioner for the merge of your fix! Thanks a lot for pointing this out and providing the patch! Cheers, Karel ___ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
Re: [commit: ghc] master: Revert "Per-thread allocation counters and limits" (f0fcc41)
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 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, g...@git.haskell.org wrote: >> Repository : ssh://g...@git.haskell.org/ghc >> >> On branch : master >> Link : >> http://ghc.haskell.org/trac/ghc/changeset/f0fcc41d755876a1b02d1c7c79f57515059f6417/ghc >> >>> --- >> >> commit f0fcc41d755876a1b02d1c7c79f57515059f6417 >> Author: Simon Marlow >> 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-comm...@haskell.org >> http://www.haskell.org/mailman/listinfo/ghc-commits >> > > ___ > ghc-devs mailing list > ghc-devs@haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs _
Re: [commit: ghc] master: Revert "Per-thread allocation counters and limits" (f0fcc41)
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, g...@git.haskell.org wrote: Repository : ssh://g...@git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f0fcc41d755876a1b02d1c7c79f57515059f6417/ghc --- commit f0fcc41d755876a1b02d1c7c79f57515059f6417 Author: Simon Marlow 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-comm...@haskell.org http://www.haskell.org/mailman/listinfo/ghc-commits ___ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs