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 URingMgrper-capability (asEventManagers currently are) -
Teach EventManagerto dispatchpolling viaURingMgr -
Proper feature detection -
Handle SQ overflow -
Dynamically increase uring count to match IO demand
Edited by Ben Gamari