[GHC] #16065: Stack squeezing during context switches makes for non-determinism in allocations
GHC
ghc-devs at haskell.org
Tue Dec 18 17:03:43 UTC 2018
#16065: Stack squeezing during context switches makes for non-determinism in
allocations
-------------------------------------+-------------------------------------
Reporter: sgraf | Owner: (none)
Type: task | Status: new
Priority: normal | Milestone: ⊥
Component: Runtime | Version: 8.6.3
System |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets: #4450, #8861
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
As #4450 and #8611 show, stack squeezing in the RTS makes allocation
numbers between two different runs of the same binary non-deterministic,
because its effect is depending on when context switches are bound to
happen.
A short-term solution might be to deactivate stack squeezing for
vulnerable benchmarks with `+RTS -Z` like in Phab:D5460, but IMO a more
elegant solution would be to only deactivate stack squeezing in
`threadPause` calls that happen due to context switches. Would you agree?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16065>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list