• Michael Anthony Knyszek's avatar
    runtime: map reserved memory as NORESERVE on solaris · 947f8504
    Michael Anthony Knyszek authored
    This changes makes it so that sysReserve, which creates a PROT_NONE
    mapping, maps that memory as NORESERVE. Before this change, relatively
    large PROT_NONE mappings could cause fork to fail with ENOMEM, reported
    as "not enough space". Presumably this refers to swap space, since
    adding this flag causes the failures to go away.
    
    This helps unblock page allocator work, since it allows us to make large
    PROT_NONE mappings on solaris safely.
    
    Updates #35112.
    
    Change-Id: Ic3cba310c626e93d5db0f27269e2569bb7bc393e
    Reviewed-on: https://go-review.googlesource.com/c/go/+/205759
    Run-TryBot: Michael Knyszek <mknyszek@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
    947f8504
mem_bsd.go 2.05 KB