aboutsummaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorDmitrii Martynov <fkr011288@gmail.com>2025-04-02 13:58:18 +0300
committerKeith Randall <khr@golang.org>2025-04-09 16:12:45 -0700
commita42e337edee375a91f304bb890e7ec24594058b9 (patch)
tree626456618d58c6317c76c61a32af763f619569cd /src/net
parent8898450841e2febb86028389e358d9d906fddbfb (diff)
downloadgo-a42e337edee375a91f304bb890e7ec24594058b9.tar.xz
runtime: explicitly exclude a potential deadlock in the scheduler
The following sequence in the scheduler may potentially lead to deadlock: - globrunqget() -> runqput() -> runqputslow() -> globrunqputbatch() However, according to the current logic of the scheduler it is not possible to face the deadlock. The patch explicitly excludes the deadlock, even though it is impossible situation at the moment. Additionally, the "runq" and "globrunq" APIs were partially refactored, which allowed to minimize the usage of these APIs by each other. This will prevent situations described in the CL. Change-Id: I7318f935d285b95522998e0903eaa6193af2ba48 Reviewed-on: https://go-review.googlesource.com/c/go/+/662216 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Diffstat (limited to 'src/net')
0 files changed, 0 insertions, 0 deletions