On Thu, Apr 23, 2020 at 9:45 AM Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > > I would prefer to not introduce that limitation in the first place, and > > instead open normal file descriptors. > > > > > The point of O_SPECIFIC_FD is to be able to perform short > > > sequences of open/dosomething/close without having to block and having > > > to issue separate syscalls. > > > > "close" is not a required component. It's entirely possible to use > > io_uring to open a file descriptor, do various things with it, and then > > leave it open for subsequent usage via either other io_uring chains or > > standalone syscalls. > > If this use case arraises, we could add an op to dup/move a private > descriptor to a public one. io_uring can return values, right? > > Still not convinced... Oh, and we haven't even touched on the biggest advantage of a private fd table: not having to dirty a cacheline on fdget/fdput due to the possibility of concurrent close() in a MT application. I believe this is a sticking point in some big enterprise apps and it may even be a driving force for io_uring. Thanks, Miklos