• Michael Anthony Knyszek's avatar
    runtime: scavenge huge spans first · a62b5723
    Michael Anthony Knyszek authored
    This change adds two new treap iteration types: one for large
    unscavenged spans (contain at least one huge page) and one for small
    unscavenged spans. This allows us to scavenge the huge spans first by
    first iterating over the large ones, then the small ones.
    
    Also, since we now depend on physHugePageSize being a power of two,
    ensure that that's the case when it's retrieved from the OS.
    
    For #30333.
    
    Change-Id: I51662740205ad5e4905404a0856f5f2b2d2a5680
    Reviewed-on: https://go-review.googlesource.com/c/go/+/174399
    Run-TryBot: Michael Knyszek <mknyszek@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarAustin Clements <austin@google.com>
    a62b5723
mheap.go 60 KB