This patch set attempts to optimize the parallelism of SMC-R connections by reducing locks scope of-smc_xxx_lgr_pending. This is a balance between large-scale refactoring and performance optimization, where this patch attempts to achieve performance optimization with as few changes as possible to minimize unexpected impacts. Although there are still many bottlenecks that affect the connection performance of SMC, This also has a certain performance improvement after this patches. Short-lived conenction wrk/nginx benchmark test: +--------------+--------+--------+--------+-------+-------+-------+-------+ |conns/qps | c8 | c16 | c32 | c64 | c512 | c1024 | c2048 | +--------------+--------+--------+--------+-------+-------+-------+-------+ |SMC-R before |10481.84|10761.04|10283.01|9006.88|9140.88|9255.41|7296.20| +--------------+--------+--------+--------+-------+-------+-------+-------+ |SMC-R origin |7328.86 |7256.99 |7288.53 |7239.55|5787.56|5371.17|3065.74| +--------------+--------+--------+--------+-------+-------+-------+-------+ D. Wythe (3): net/smc: refactoring lgr pending lock net/smc: reduce locks scope of smc_xxx_lgr_pending net/smc: Isolate the smc_xxx_lgr_pending with ib_device net/smc/af_smc.c | 36 +++++++++++++++++++----------------- net/smc/smc_core.c | 17 +++++++++++++++-- net/smc/smc_core.h | 29 +++++++++++++++++++++++++++++ net/smc/smc_ib.c | 2 ++ net/smc/smc_ib.h | 2 ++ 5 files changed, 67 insertions(+), 19 deletions(-) -- 2.45.0