io_uring: change io_get_ext_arg() to use uaccess begin + end
authorJens Axboe <axboe@kernel.dk>
Tue, 22 Oct 2024 19:41:42 +0000 (13:41 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 29 Oct 2024 19:43:27 +0000 (13:43 -0600)
commit371b47da25e1f7a1a6323f84c776bd9fa079a490
tree6ae5cba18cd6563a9b52b26fdcdc31a6a5416fea
parent0a54a7dd0a12b777721f5ca55c9d6331d2a46b01
io_uring: change io_get_ext_arg() to use uaccess begin + end

In scenarios where a high frequency of wait events are seen, the copy
of the struct io_uring_getevents_arg is quite noticeable in the
profiles in terms of time spent. It can be seen as up to 3.5-4.5%.
Rewrite the copy-in logic, saving about 0.5% of the time.

Reviewed-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.c