mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: add page tracer
This change adds a new GODEBUG flag called pagetrace that writes a low-overhead trace of how pages of memory are managed by the Go runtime. The page tracer is kept behind a GOEXPERIMENT flag due to a potential security risk for setuid binaries. Change-Id: I6f4a2447d02693c25214400846a5d2832ad6e5c0 Reviewed-on: https://go-review.googlesource.com/c/go/+/444157 Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
0613418c98
commit
e4435cb844
51 changed files with 636 additions and 29 deletions
|
|
@ -754,6 +754,11 @@ type p struct {
|
|||
// scheduler ASAP (regardless of what G is running on it).
|
||||
preempt bool
|
||||
|
||||
// pageTraceBuf is a buffer for writing out page allocation/free/scavenge traces.
|
||||
//
|
||||
// Used only if GOEXPERIMENT=pagetrace.
|
||||
pageTraceBuf pageTraceBuf
|
||||
|
||||
// Padding is no longer needed. False sharing is now not a worry because p is large enough
|
||||
// that its size class is an integer multiple of the cache line size (for any of our architectures).
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue