That was kind of my point. While all of this is true, these are not material limitations for the implementation of high-performance storage engines. For example, using unbuffered file descriptors is a standard design element of databases for performance reasons that remain true.
Being able to drive networking over io_uring would be a big advantage but my understanding from people using it is that part is still a bit broken.
Those benchmark results are pretty impressive. In particular, io_uring gets the best performance both when the data is in the page cache and when bypassing the cache.
True. Have to agree, here. Although one advantage over aio for block I/O that io_uring will still have is to use polling mode to almost completely avoid system calls.
Being able to drive networking over io_uring would be a big advantage but my understanding from people using it is that part is still a bit broken.