On 10/10/20 11:34 AM, Pavel Begunkov wrote: > Only [1] considerably affects performance (as by Roman Gershman), others > are rather cleanups. > > [1-2] are on the surface cleanups following ->files changes. > [3-5] address ->file grabbing > [6-7] are some preparations around timeouts > [8,9] are independent cleanups > [10-12] toss around files_register() bits > > Pavel Begunkov (12): > io_uring: don't io_prep_async_work() linked reqs > io_uring: clean up ->files grabbing > io_uring: kill extra check in fixed io_file_get() > io_uring: simplify io_file_get() > io_uring: improve submit_state.ios_left accounting > io_uring: use a separate struct for timeout_remove > io_uring: remove timeout.list after hrtimer cancel > io_uring: clean leftovers after splitting issue > io_uring: don't delay io_init_req() error check > io_uring: clean file_data access in files_register > io_uring: refactor *files_register()'s error paths > io_uring: keep a pointer ref_node in file_data > > fs/io_uring.c | 275 ++++++++++++++++++++------------------------------ > 1 file changed, 107 insertions(+), 168 deletions(-) Thanks, nice cleanups! LGTM, and they test out fine too. Applied. -- Jens Axboe