io_uring: remove file batch-get optimisation
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 10 Aug 2021 13:52:47 +0000 (14:52 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 11 Aug 2021 22:35:57 +0000 (16:35 -0600)
commitff49e5982f3d9d86c4846d0304eec82831514418
tree641c1a6a7f571f87f0cbc0905ed18195a77be915
parent8de254e05555fab96226be5bd062f131df14d9e0
io_uring: remove file batch-get optimisation

For requests with non-fixed files, instead of grabbing just one
reference, we get by the number of left requests, so the following
requests using the same file can take it without atomics.

However, it's not all win. If there is one request in the middle
not using files or having a fixed file, we'll need to put back the left
references. Even worse if an application submits requests dealing with
different files, it will do a put for each new request, so doubling the
number of atomics needed. Also, even if not used, it's still takes some
cycles in the submission path.

If a file used many times, it rather makes sense to pre-register it, if
not, we may fall in the described pitfall. So, this optimisation is a
matter of use case. Go with the simpliest code-wise way, remove it.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c