aboutsummaryrefslogtreecommitdiff
path: root/lib/test_fortify/write_overflow-strncpy-src.c
diff options
context:
space:
mode:
authorJack Wang <[email protected]>2023-07-05 13:32:27 +0200
committerSong Liu <[email protected]>2023-07-27 00:13:30 -0700
commit21bd9a68fef47c4f0e951be9a6fac9745cee1bab (patch)
treed69ed66090a034c81c0cd33713f1aa44f735db1d /lib/test_fortify/write_overflow-strncpy-src.c
parente24ed04389f9619e0aaef615a8948633c182a8b0 (diff)
md/raid1: Avoid lock contention from wake_up()
wake_up is called unconditionally in a few paths such as make_request(), which cause lock contention under high concurrency workload like below raid1_end_write_request wake_up __wake_up_common_lock spin_lock_irqsave Improve performance by only call wake_up() if waitqueue is not empty Fio test script: [global] name=random reads and writes ioengine=libaio direct=1 readwrite=randrw rwmixread=70 iodepth=64 buffered=0 filename=/dev/md0 size=1G runtime=30 time_based randrepeat=0 norandommap refill_buffers ramp_time=10 bs=4k numjobs=400 group_reporting=1 [job1] Test result with 2 ramdisk in raid1 on a Intel Broadwell 56 cores server. Before this patch With this patch READ BW=4621MB/s BW=7337MB/s WRITE BW=1980MB/s BW=3144MB/s The patch is inspired by Yu Kuai's change for raid10: https://lore.kernel.org/r/[email protected] Cc: Yu Kuai <[email protected]> Signed-off-by: Jack Wang <[email protected]> Reviewed-by: Yu Kuai <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Song Liu <[email protected]>
Diffstat (limited to 'lib/test_fortify/write_overflow-strncpy-src.c')
0 files changed, 0 insertions, 0 deletions