On Thu, Jan 28, 2021 at 8:20 PM Jens Axboe <axboe@xxxxxxxxx> wrote: > > On 1/28/21 5:04 AM, Kanchan Joshi wrote: > > And for some ioctls, driver may still need to use task-work to update > > the user-space pointers (embedded in uring/ioctl cmd) during > > completion. > > For this use case, we should ensure that just io_uring handles this > part. It's already got everything setup for it, and I'd rather avoid > having drivers touch any of those parts. Could be done by having an > io_uring helper ala: > > io_uring_cmd_complete_in_task(cmd, handler); > > which takes care of the nitty gritty details. Ah right. With that, I can do away with exporting task-work. NVMe completion can invoke (depending on ioctl) this uring-helper with a handler that does the ioctl-specific update in task context. -- Kanchan