diff options
author | Yu Kuai <yukuai3@huawei.com> | 2022-09-16 14:34:26 +0300 |
---|---|---|
committer | Song Liu <song@kernel.org> | 2022-09-22 10:05:05 +0300 |
commit | 0c0be98bbe67662a7d2bf8381106bfca0e31ed72 (patch) | |
tree | 3f345788a58afbb9ab684b17edddb6e47b899fbc /drivers/md/bcache/trace.c | |
parent | 0de57e541bb4207c0602eca271c6531c305e9c5d (diff) | |
download | linux-0c0be98bbe67662a7d2bf8381106bfca0e31ed72.tar.xz |
md/raid10: prevent unnecessary calls to wake_up() in fast path
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@huawei.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Acked-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Signed-off-by: Song Liu <song@kernel.org>
Diffstat (limited to 'drivers/md/bcache/trace.c')
0 files changed, 0 insertions, 0 deletions