[GHC] #14193: Add RTS flag to disable 1TB address space allocaiton

GHC ghc-devs at haskell.org
Thu Sep 7 09:53:11 UTC 2017


#14193: Add RTS flag to disable 1TB address space allocaiton
-------------------------------------+-------------------------------------
           Reporter:  nh2            |             Owner:  (none)
               Type:  feature        |            Status:  new
  request                            |
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.0.2
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:  #9706, #14192
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 GHC 8.0 changed the default behaviour on Linux to allocate 1 TB virtual
 memory for Haskell programs (#9706).

 While shown to be good for performance (a small percentage gain), it has
 created me a couple problems, especially when:

 * trying to disable overcommit in Linux to get more reliable memory
 behaviour and avoid swapping / the OOM-killer (all Haskell programs crash
 at startup)
 * and in debugging (e.g. #14192)

 Currently you can turn that feature off only via a compile-time switch,
 e.g. `./configure --disable-large-address-space`.

 I'd like to request to make it possible to turn this behaviour off at run-
 time with an RTS flag, so that when the flag is given, it uses the old
 block-allocator.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14193>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list