Re: [PATCH 1/2] io_uring: check tctx->in_idle when decrementing inflight_tracked

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




在 2021/12/9 下午11:59, Jens Axboe 写道:
If we have someone potentially waiting for tracked requests to finish,
ensure that we check in_idle and wake them up appropriately.

Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
---

Hi Jens,

I saw every/several( in batching cases)  io_clean_op() followed by an io_put_task() which does the same thing

as this patch, so it seems this one is not neccessary? Correct me if I'm wrong since I haven't touch this code for

a long time.


Regards,
Hao

  fs/io_uring.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index c4f217613f56..b4d5b8d168bf 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -6640,6 +6640,8 @@ static void io_clean_op(struct io_kiocb *req)
  		struct io_uring_task *tctx = req->task->io_uring;
atomic_dec(&tctx->inflight_tracked);
+		if (unlikely(atomic_read(&tctx->in_idle)))
+			wake_up(&tctx->wait);
  	}
  	if (req->flags & REQ_F_CREDS)
  		put_cred(req->creds);



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux