From 1033065ee381da075e458de0420d0a5838e910cb Mon Sep 17 00:00:00 2001 From: Michael Anthony Knyszek Date: Fri, 29 Mar 2019 20:03:29 +0000 Subject: runtime: add physHugePageSize This change adds the global physHugePageSize which is initialized in osinit(). physHugePageSize contains the system's transparent huge page (or superpage) size in bytes. For #30333. Change-Id: I2f0198c40729dbbe6e6f2676cef1d57dd107562c Reviewed-on: https://go-review.googlesource.com/c/go/+/170858 Run-TryBot: Michael Knyszek Reviewed-by: Austin Clements --- src/runtime/malloc.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/runtime/malloc.go') diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go index c22c7aa7dc..f2cb6085bc 100644 --- a/src/runtime/malloc.go +++ b/src/runtime/malloc.go @@ -324,6 +324,14 @@ const ( // mallocinit. var physPageSize uintptr +// physHugePageSize is the size in bytes of the OS's default physical huge +// page size whose allocation is opaque to the application. +// +// If set, this must be set by the OS init code (typically in osinit) before +// mallocinit. However, setting it at all is optional, and leaving the default +// value is always safe (though potentially less efficient). +var physHugePageSize uintptr + // OS-defined helpers: // // sysAlloc obtains a large chunk of zeroed memory from the -- cgit v1.3