
#8732: Global big object heap allocator lock causes contention -------------------------------------+------------------------------------- Reporter: tibbe | Owner: simonmar Type: bug | Status: new Priority: normal | Milestone: 7.12.1 Component: Runtime System | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by simonmar): Malloc is fine for ByteStrings, but we can't use it for heap-resident objects due to the way block descriptors work. Our memory is always MB- aligned, so that we can put the block descriptors at the beginning of the MB. Also the GC has to be able to distinguish heap memory from non-heap memory, and we currently take advantage of the fact that memory is allocated in MB chunks to reduce the granularity that we have to map the address space. The contiguous-heap patch solves this in a different way (that is also incompatible with malloc). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8732#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler