On Tue, 03 Jan 2023 03:03:51 +0000, Pavel Begunkov wrote: > The series replaces waitqueues for CQ waiting with a custom waiting > loop and adds a couple more perf tweak around it. Benchmarking is done > for QD1 with simulated tw arrival right after we start waiting, it > gets us from 7.5 MIOPS to 9.2, which is +22%, or double the number for > the in-kernel io_uring overhead (i.e. without syscall and userspace). > That matches profiles, wake_up() _without_ wake_up_state() was taking > 12-14% and prepare_to_wait_exclusive() was around 4-6%. > > [...] Applied, thanks! [01/13] io_uring: rearrange defer list checks commit: 9617404e5d86e9cfb2da4ac2b17e99a72836bf69 [02/13] io_uring: don't iterate cq wait fast path commit: 1329dc7e79da3570f6591d9997bd2fe3a7d17ca6 [03/13] io_uring: kill io_run_task_work_ctx commit: 90b8457304e25a137c1b8c89f7cae276b79d3273 [04/13] io_uring: move defer tw task checks commit: 1345a6b381b4d39b15a1e34c0a78be2ee2e452c6 [05/13] io_uring: parse check_cq out of wq waiting commit: b5be9ebe91246b67d4b0dee37e3071d73ba69119 [06/13] io_uring: mimimise io_cqring_wait_schedule commit: de254b5029fa37c4e0a6a16743fa2271fa524fc7 [07/13] io_uring: simplify io_has_work commit: 26736d171ec54487de677f09d682d144489957fa [08/13] io_uring: set TASK_RUNNING right after schedule commit: 8214ccccf64f1335b34b98ed7deb2c6c29969c49 Best regards, -- Jens Axboe