Re: [PATCH v3 3/5] md/raid10: prevent unnecessary calls to wake_up() in fast path
From: Logan Gunthorpe
Date: Fri Sep 16 2022 - 14:36:36 EST
On 2022-09-16 05:34, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@xxxxxxxxxx>
>
> Currently, wake_up() is called unconditionally in fast path such as
> raid10_make_request(), which will cause lock contention under high
> concurrency:
>
> raid10_make_request
> wake_up
> __wake_up_common_lock
> spin_lock_irqsave
>
> Improve performance by only call wake_up() if waitqueue is not empty
> in allow_barrier() and raid10_make_request().
>
> Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
Reviewed-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>