Paul Khuong on Nostr: I don't know if all the async folks realise how much of a latency hit we take with ...
I don't know if all the async folks realise how much of a latency hit we take with event systems like epoll, compared to just blocking (or completions/io_uring), especially when there's a lot of load.
Whenever the kernel handles external inputs, it now acquires a hot locks to wake waiters up… when the waiter finally gets a timeslice, it immediately goes back in the kernel to actually perform the operation it didn't do want to block on :/ And that's without traps like thundering herds, edge triggering, or epoll's LIFO policy.
Whenever the kernel handles external inputs, it now acquires a hot locks to wake waiters up… when the waiter finally gets a timeslice, it immediately goes back in the kernel to actually perform the operation it didn't do want to block on :/ And that's without traps like thundering herds, edge triggering, or epoll's LIFO policy.