• Jens Axboe's avatar
    io_uring/io-wq: don't gate worker wake up success on wake_up_process() · 22f7fb80
    Jens Axboe authored
    All we really care about is finding a free worker. If said worker is
    already running, it's either starting new work already or it's just
    finishing up existing work. For the latter, we'll be finding this work
    item next anyway, and for the former, if the worker does go to sleep,
    it'll create a new worker anyway as we have pending items.
    
    This reduces try_to_wake_up() overhead considerably:
    
    23.16%    -10.46%  [kernel.kallsyms]      [k] try_to_wake_up
    Reviewed-by: default avatarHao Xu <howeyxu@tencent.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    22f7fb80
io-wq.c 32.4 KB