[GHC] #8732: Global big object heap allocator lock causes contention
GHC
ghc-devs at haskell.org
Tue Feb 3 20:55:28 UTC 2015
#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
More information about the ghc-tickets
mailing list