|
|
|
|
|
by WGH_
2231 days ago
|
|
> Even today if you are running async IO in userspace (e.g. using epoll), it's not very obvious where something went wrong, because no task is seemingly blocked. It doesn't apply to file IO, which is never non-blocking, and can't be made async with epoll. Epoll always considers files ready for any IO. And if the device is slow, the thread is blocked with dreaded "D" state. |
|
Completion based async (including io_uring on Linux or IO completion ports on Windows) doesn't suffer from this problem.