libunifex icon indicating copy to clipboard operation
libunifex copied to clipboard

Experiment with a low-latency Windows I/O scheduler

Open lewissbaker opened this issue 4 years ago • 1 comments

Implement some of the low-latency ideas from llfio's experiments with sender/receiver that allow I/O operations to complete prior to the completion event being posted to the IOCP queue by polling the OVERLAPPED structure for a completion status and executing the continuation before the notification is delivered via GetQueuedCompletionStatus().

This would require placing the OVERLAPPED structure outside of the operation-state (perhaps using a pool-allocator) so that the operation-state can be destroyed by the continuation before receiving the completion event and then returning the OVERLAPPED structure to a free-list when the completion event eventually comes in.

lewissbaker avatar Jan 28 '20 22:01 lewissbaker

A proof-of-concept implementation of this idea is available in #139

lewissbaker avatar Jun 15 '20 23:06 lewissbaker