mirror of
https://github.com/golang/go
synced 2024-11-23 10:40:08 -07:00
runtime: move pdesc into p
There are currently two arrays indexed by P ID: allp and pdesc. Consolidate these by moving the pdesc fields into type p so they can be indexed off allp along with all other per-P state. For #15131. Change-Id: Ib6c4e6e7612281a1171ba4a0d62e52fd59e960b4 Reviewed-on: https://go-review.googlesource.com/45572 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
This commit is contained in:
parent
0253299ab3
commit
f4f018518d
@ -3837,7 +3837,7 @@ func sysmon() {
|
||||
}
|
||||
}
|
||||
|
||||
var pdesc [_MaxGomaxprocs]struct {
|
||||
type sysmontick struct {
|
||||
schedtick uint32
|
||||
schedwhen int64
|
||||
syscalltick uint32
|
||||
@ -3855,7 +3855,7 @@ func retake(now int64) uint32 {
|
||||
if _p_ == nil {
|
||||
continue
|
||||
}
|
||||
pd := &pdesc[i]
|
||||
pd := &_p_.sysmontick
|
||||
s := _p_.status
|
||||
if s == _Psyscall {
|
||||
// Retake P from syscall if it's there for more than 1 sysmon tick (at least 20us).
|
||||
|
@ -453,9 +453,10 @@ type p struct {
|
||||
id int32
|
||||
status uint32 // one of pidle/prunning/...
|
||||
link puintptr
|
||||
schedtick uint32 // incremented on every scheduler call
|
||||
syscalltick uint32 // incremented on every system call
|
||||
m muintptr // back-link to associated m (nil if idle)
|
||||
schedtick uint32 // incremented on every scheduler call
|
||||
syscalltick uint32 // incremented on every system call
|
||||
sysmontick sysmontick // last tick observed by sysmon
|
||||
m muintptr // back-link to associated m (nil if idle)
|
||||
mcache *mcache
|
||||
racectx uintptr
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user