Commit f4f01851 authored by Austin Clements's avatar Austin Clements

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: default avatarBrad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: default avatarRick Hudson <rlh@golang.org>
parent 0253299a
...@@ -3837,7 +3837,7 @@ func sysmon() { ...@@ -3837,7 +3837,7 @@ func sysmon() {
} }
} }
var pdesc [_MaxGomaxprocs]struct { type sysmontick struct {
schedtick uint32 schedtick uint32
schedwhen int64 schedwhen int64
syscalltick uint32 syscalltick uint32
...@@ -3855,7 +3855,7 @@ func retake(now int64) uint32 { ...@@ -3855,7 +3855,7 @@ func retake(now int64) uint32 {
if _p_ == nil { if _p_ == nil {
continue continue
} }
pd := &pdesc[i] pd := &_p_.sysmontick
s := _p_.status s := _p_.status
if s == _Psyscall { if s == _Psyscall {
// Retake P from syscall if it's there for more than 1 sysmon tick (at least 20us). // Retake P from syscall if it's there for more than 1 sysmon tick (at least 20us).
......
...@@ -453,9 +453,10 @@ type p struct { ...@@ -453,9 +453,10 @@ type p struct {
id int32 id int32
status uint32 // one of pidle/prunning/... status uint32 // one of pidle/prunning/...
link puintptr link puintptr
schedtick uint32 // incremented on every scheduler call schedtick uint32 // incremented on every scheduler call
syscalltick uint32 // incremented on every system call syscalltick uint32 // incremented on every system call
m muintptr // back-link to associated m (nil if idle) sysmontick sysmontick // last tick observed by sysmon
m muintptr // back-link to associated m (nil if idle)
mcache *mcache mcache *mcache
racectx uintptr racectx uintptr
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment