mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: optimize the memory padding in p struct
Since allocation for p struct will be rounded up to the next size class, the two relevant adjacent classes for this case are 9728 bytes and 10240 bytes. A p is currently 10072 bytes, so it gets rounded up to 10240 bytes when we allocate one, So the pad in p struct is unnecessary, eliminate it and add comments for warning the false sharing. Change-Id: Iae8b32931d1beddbfff1f58044d8401703da6407 Reviewed-on: https://go-review.googlesource.com/c/go/+/268759 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Trust: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
ab331c0254
commit
55d7dcc3cd
1 changed files with 2 additions and 2 deletions
|
|
@ -5,7 +5,6 @@
|
|||
package runtime
|
||||
|
||||
import (
|
||||
"internal/cpu"
|
||||
"runtime/internal/atomic"
|
||||
"runtime/internal/sys"
|
||||
"unsafe"
|
||||
|
|
@ -713,7 +712,8 @@ type p struct {
|
|||
// scheduler ASAP (regardless of what G is running on it).
|
||||
preempt bool
|
||||
|
||||
pad cpu.CacheLinePad
|
||||
// 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).
|
||||
}
|
||||
|
||||
type schedt struct {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue