]> Cypherpunks repositories - gostls13.git/commit
runtime: utilize EVFILT_USER more effectively
authorMaksym Sobolyev <sobomax@sippysoft.com>
Wed, 20 Nov 2024 19:27:40 +0000 (19:27 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 21 Nov 2024 16:24:21 +0000 (16:24 +0000)
commit21b5f2637a37fe2fece7e6bf3d5f97a9520693ba
treeba9bbf54ff94e8eed06ba12938d7f79a325da243
parent844426104a901b68f3a8c7a7ca96d910b03fb054
runtime: utilize EVFILT_USER more effectively

Re-work kqueue_event wakeup logic to use one-shot events. In an
event of waking up a wrong thread, simply re-post the event.

This saves close to 1 system call per wakeup on average, since
chances of non-blocking poller picking it up is pretty low.

Change-Id: I202d0d57a31d91ac5354ea075215f647c65790d3
GitHub-Last-Rev: e707d4732683702bd2989f07230a2f34354c288b
GitHub-Pull-Request: golang/go#70408
Reviewed-on: https://go-review.googlesource.com/c/go/+/628975
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/runtime/netpoll_kqueue.go
src/runtime/netpoll_kqueue_event.go
src/runtime/netpoll_kqueue_pipe.go