~/talk

Unmasking netpoll.go

Talkat dotGo 2017 · on Monday, 2017-11-06· [go]
slides:none on file

Explains the concrete claim that Go uses nonblocking sockets registered with netpoll.go and the kernel epoll instance so every accepted connection is added to the poll set and never blocks an OS thread. Shows the actual runtime data flow: the m:n scheduler parks goroutines on EAGAIN, calls schedule, pollWait yields ready fds and a linked list of runnable goroutines, scheduler pushes all but the first to the global run queue and resumes execution, enabling tens of thousands of concurrent connections.

AI-written summary · about

  1. 0:00Start
  2. 2:47How Go Handles Network File Descriptors
  3. 4:08Non-Blocking Socket
  4. 4:44Poll Descriptor
  5. 8:16Run Time Context
  6. 10:55Global Run Queue
  7. 11:47When Does the Runtime Scheduler Get Invoked
  8. 14:53Polling a Network
  9. 15:43Recap
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.