> On 6/25/20 2:28 PM, Pavel Begunkov wrote: > On 25/06/2020 21:27, Jens Axboe wrote: >> Currently links are always done in an async fashion, unless we >> catch them inline after we successfully complete a request without >> having to resort to blocking. This isn't necessarily the most efficient >> approach, it'd be more ideal if we could just use the task_work handling >> for this. > > Well, you beat me on this. As mentioned, I was going to rebase it after > lending iopoll fixes. Nice numbers! A small comment below, but LGTM. > I'll review more formally on a fresh head. I thought you were doing this for the retry -EAGAIN based stuff, didn't know you had plans on links! If so, I would have left it alone. This was just a quick idea and execution this morning. > Could you push it to a branch? My other patches would conflict. Yep, I'll push it out now. >> +static void __io_req_task_submit(struct io_kiocb *req) >> +{ >> + struct io_ring_ctx *ctx = req->ctx; >> + >> + __set_current_state(TASK_RUNNING); >> + if (!io_sq_thread_acquire_mm(ctx, req)) { > > My last patch replaced it with "__" version. Is it merge problems > or intended as this? I'll make sure it applies on for-5.9/io_uring, and then I'll sort out any merge issues by pulling in io_uring-5.8 to there, if we need to. -- Jens Axboe