Regardless of language, there was never any question that TB would be using io_uring—the interface is that good! If anything, Zig made it easier, bringing all the primitives/atomics I needed to merge io_uring directly into the std lib.
Note that io_uring doesn’t require a pre-allocated core for spinning. There are multiple modes. We just use the kernel thread pool, which we prefer to a user space thread pool!