Draft: Implement I/O based on io_uring
This is a rather rough extension of @WJWH's !3794 exploring the possibility of introducing support for the read
and write
RawIO
operations. At the moment this is really more of a sketch than anything else, but I think it does demonstrate a rather simple implementation strategy. The interesting changes are in GHC.IO.FD
and GHC.IO.URing
.
See #18390.
Todo
-
Make URingMgr
per-capability (asEventManager
s currently are) -
Teach EventManager
to dispatchpoll
ing viaURingMgr
-
Proper feature detection -
Handle SQ overflow -
Dynamically increase uring count to match IO demand
Edited by Ben Gamari