diff options
author | D. Wythe <alibuda@linux.alibaba.com> | 2023-02-02 16:26:40 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-02-04 09:48:19 +0000 |
commit | f6421014e88983c5bb7a25c71c01ae6278a01df9 (patch) | |
tree | 61e10bb4014ad23c41ed6d7c0714024cbd4c0ba1 /README | |
parent | b5dd4d6981717f7e2682c0419fe832328c7441cf (diff) | |
download | linux-f6421014e88983c5bb7a25c71c01ae6278a01df9.tar.gz |
net/smc: use read semaphores to reduce unnecessary blocking in smc_buf_create() & smcr_buf_unuse()
Following is part of Off-CPU graph during frequent SMC-R short-lived
processing:
process_one_work (51.19%)
smc_close_passive_work (28.36%)
smcr_buf_unuse (28.34%)
rwsem_down_write_slowpath (28.22%)
smc_listen_work (22.83%)
smc_clc_wait_msg (1.84%)
smc_buf_create (20.45%)
smcr_buf_map_usable_links
rwsem_down_write_slowpath (20.43%)
smcr_lgr_reg_rmbs (0.53%)
rwsem_down_write_slowpath (0.43%)
smc_llc_do_confirm_rkey (0.08%)
We can clearly see that during the connection establishment time,
waiting time of connections is not on IO, but on llc_conf_mutex.
What is more important, the core critical area (smcr_buf_unuse() &
smc_buf_create()) only perfroms read semantics on links, we can
easily replace it with read semaphore.
Signed-off-by: D. Wythe <alibuda@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions