Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime: use EVFILT_USER to wake up kevent where available #66760

Closed
panjf2000 opened this issue Apr 10, 2024 · 1 comment
Closed

runtime: use EVFILT_USER to wake up kevent where available #66760

panjf2000 opened this issue Apr 10, 2024 · 1 comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done. OS-Darwin OS-Dragonfly OS-FreeBSD OS-NetBSD Performance
Milestone

Comments

@panjf2000
Copy link
Member

panjf2000 commented Apr 10, 2024

OSX 10.6, FreeBSD 8.1, DragonFlyBSD 4.0, and NetBSD 10.0 added EVFILT_USER for user-established events. By utilizing EVFILT_USER, we'd be able to eliminate the kernel overhead of the pipe and gain a worthwhile performance boost for the notification mechanism of kqueue-based netpoller.

See also #65443

@golang/runtime

@panjf2000 panjf2000 added Performance OS-Dragonfly OS-FreeBSD OS-Darwin OS-NetBSD NeedsFix The path to resolution is known, but the work has not been done. compiler/runtime Issues related to the Go compiler and/or runtime. labels Apr 10, 2024
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/577895 mentions this issue: runtime: utilize EVFILT_USER to wake up kevent for kqueue

@panjf2000 panjf2000 added this to the Go1.23 milestone Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done. OS-Darwin OS-Dragonfly OS-FreeBSD OS-NetBSD Performance
Projects
Development

No branches or pull requests

2 participants