>> In trying this out in applications, I think the better registration API >> is to allow io_uring to pick the offset. The application doesn't care, >> it's just a magic integer there. And if we allow io_uring to pick it, >> then that makes things a lot easier to deal with. >> >> For registration, pass in an array of io_uring_rsrc_update structs, just >> filling in the ring_fd in the data field. Return value is number of ring >> fds registered, and up->offset now contains the chosen offset for each >> of them. >> >> Unregister is the same struct, but just with offset filled in. >> >> For applications using io_uring, which is all of them as far as I'm >> aware, we can also easily hide this. This means we can get the optimized >> behavior by default. >> > > Did you mean s/using io_uring/using liburing/ here? I did, applications using liburing as their io_uring interface. -- Jens Axboe