Progress report on implementing a fiber scheduler for UringMachine, a Ruby library leveraging io_uring for asynchronous I/O. Key improvements include optimizing mutex performance by tracking waiters, fixing futex variable movement issues, adding IO::Buffer support, and implementing process management hooks. The work reveals how io_uring challenges traditional Ruby I/O assumptions by enabling truly asynchronous file operations and uniform handling of all file descriptors. A pull request was submitted to Ruby core for adding a process_fork hook to the Fiber::Scheduler interface.
Sort: