From: Jackie Liu <liuyun01@kylinos.cn>
To: axboe@kernel.dk
Cc: linux-block@vger.kernel.org
Subject: [PATCH 2/2] io_uring: replace s->needs_lock with s->in_async
Date: Wed, 9 Oct 2019 09:19:59 +0800 [thread overview]
Message-ID: <20191009011959.2203-2-liuyun01@kylinos.cn> (raw)
In-Reply-To: <20191009011959.2203-1-liuyun01@kylinos.cn>
There is no function change, just to clean up the code, use s->in_async
to make the code know where it is.
Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
---
fs/io_uring.c | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/fs/io_uring.c b/fs/io_uring.c
index 8ec2443eb019..3bb638b26cb7 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -268,7 +268,7 @@ struct sqe_submit {
unsigned short index;
u32 sequence;
bool has_user;
- bool needs_lock;
+ bool in_async;
bool needs_fixed_file;
};
@@ -1390,11 +1390,7 @@ static int io_read(struct io_kiocb *req, const struct sqe_submit *s,
if (!force_nonblock || ret2 != -EAGAIN) {
io_rw_done(kiocb, ret2);
} else {
- /*
- * If ->needs_lock is true, we're already in async
- * context.
- */
- if (!s->needs_lock)
+ if (!s->in_async)
io_async_list_note(READ, req, iov_count);
ret = -EAGAIN;
}
@@ -1432,8 +1428,7 @@ static int io_write(struct io_kiocb *req, const struct sqe_submit *s,
ret = -EAGAIN;
if (force_nonblock && !(kiocb->ki_flags & IOCB_DIRECT)) {
- /* If ->needs_lock is true, we're already in async context. */
- if (!s->needs_lock)
+ if (!s->in_async)
io_async_list_note(WRITE, req, iov_count);
goto out_free;
}
@@ -1464,11 +1459,7 @@ static int io_write(struct io_kiocb *req, const struct sqe_submit *s,
if (!force_nonblock || ret2 != -EAGAIN) {
io_rw_done(kiocb, ret2);
} else {
- /*
- * If ->needs_lock is true, we're already in async
- * context.
- */
- if (!s->needs_lock)
+ if (!s->in_async)
io_async_list_note(WRITE, req, iov_count);
ret = -EAGAIN;
}
@@ -2029,10 +2020,10 @@ static int __io_submit_sqe(struct io_ring_ctx *ctx, struct io_kiocb *req,
return -EAGAIN;
/* workqueue context doesn't hold uring_lock, grab it now */
- if (s->needs_lock)
+ if (s->in_async)
mutex_lock(&ctx->uring_lock);
io_iopoll_req_issued(req);
- if (s->needs_lock)
+ if (s->in_async)
mutex_unlock(&ctx->uring_lock);
}
@@ -2096,7 +2087,7 @@ static void io_sq_wq_submit_work(struct work_struct *work)
if (!ret) {
s->has_user = cur_mm != NULL;
- s->needs_lock = true;
+ s->in_async = true;
do {
ret = __io_submit_sqe(ctx, req, s, false);
/*
@@ -2552,7 +2543,7 @@ static int io_submit_sqes(struct io_ring_ctx *ctx, struct sqe_submit *sqes,
-EFAULT);
} else {
sqes[i].has_user = has_user;
- sqes[i].needs_lock = true;
+ sqes[i].in_async = true;
sqes[i].needs_fixed_file = true;
io_submit_sqe(ctx, &sqes[i], statep, &link, true);
submitted++;
@@ -2738,7 +2729,7 @@ static int io_ring_submit(struct io_ring_ctx *ctx, unsigned int to_submit,
out:
s.has_user = true;
- s.needs_lock = false;
+ s.in_async = false;
s.needs_fixed_file = false;
submit++;
--
2.23.0
next prev parent reply other threads:[~2019-10-09 1:20 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-09 1:19 [PATCH 1/2] io_uring: make the logic clearer for io_sequence_defer Jackie Liu
2019-10-09 1:19 ` Jackie Liu [this message]
2019-10-10 16:10 ` [PATCH 2/2] io_uring: replace s->needs_lock with s->in_async Jens Axboe
2019-10-10 16:10 ` [PATCH 1/2] io_uring: make the logic clearer for io_sequence_defer Jens Axboe
2019-10-11 2:24 ` yangerkun
2019-10-11 2:35 ` Jens Axboe
2019-10-11 3:06 ` Jackie Liu
2019-10-11 3:17 ` Jens Axboe
2019-10-11 3:26 ` Jens Axboe
2019-10-11 3:27 ` Jackie Liu
2019-10-11 3:34 ` Jens Axboe
2019-10-11 3:41 ` Jackie Liu
2019-10-11 3:42 ` Jens Axboe
2019-10-11 3:43 ` Jackie Liu
2019-10-11 3:47 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191009011959.2203-2-liuyun01@kylinos.cn \
--to=liuyun01@kylinos.cn \
--cc=axboe@kernel.dk \
--cc=linux-block@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).