io_uring: batch account ->req_issue and task struct references
authorJens Axboe <axboe@kernel.dk>
Wed, 7 Oct 2020 18:48:53 +0000 (12:48 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 7 Oct 2020 18:55:42 +0000 (12:55 -0600)
commitfaf7b51c06973f947776af6c8f8a513475a2bfa1
tree3953847c6a16afc19872e9b3f94be0a78a3e164a
parent87c4311fd2c28e83545cdfa4702b57db15ed1d9b
io_uring: batch account ->req_issue and task struct references

Identical to how we handle the ctx reference counts, increase by the
batch we're expecting to submit, and handle any slow path residual,
if any. The request alloc-and-issue path is very hot, and this makes
a noticeable difference by avoiding an two atomic incs for each
individual request.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c