[GHC] #8732: Global big object heap allocator lock causes contention
GHC
ghc-devs at haskell.org
Wed Feb 5 00:30:24 UTC 2014
#8732: Global big object heap allocator lock causes contention
--------------------------------------------+------------------------------
Reporter: tibbe | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: Runtime System | Version: 7.6.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime performance bug | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by ezyang):
It is a good thing that these blocks are considered big blocks, since we
don't really want to be copying the buffers around. So one thought might
be to make the large block list in generation-0 per-thread, and perform
allocations from a thread-local block list. But you have to be careful:
objects that are larger than a block need contiguous blocks, so unless you
are only going to enable this for large objects that still fit in a single
block, you'll have to maintain multiple lists with the sizes you want.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8732#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list