Message ID | 20230727200128.65947-1-rpearsonhpe@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | RDMA/rxe: Implement support for nonlinear packets | expand |
在 2023/7/28 4:01, Bob Pearson 写道: > This patch set is a revised version of an older set which implements > support for nonlinear or fragmented packets. This avoids extra copies > in both the send and receive paths and gives significant performance > improvement for large messages such as are used in storage applications. > > This patch set has been heavily tested at large system scale and > demonstrated a 2X improvement in file system read performance on > a 200 Gb/sec network. > > The patch set is rebased to the current for-next branch with the > following previous patch sets applied: > RDMA/rxe: Fix incomplete state save in rxe_requester > RDMA/rxe: Misc fixes and cleanups > Enable rcu locking of verbs objects > RDMA/rxe: Misc cleanups > > Bob Pearson (10): > RDMA/rxe: Add sg fragment ops > RDMA/rxe: Extend rxe_mr_copy to support skb frags > RDMA/rxe: Extend copy_data to support skb frags > RDMA/rxe: Extend rxe_init_packet() to support frags > RDMA/rxe: Extend rxe_icrc.c to support frags > RDMA/rxe: Extend rxe_init_req_packet() for frags > RDMA/rxe: Extend response packets for frags > RDMA/rxe: Extend send/write_data_in() for frags > RDMA/rxe: Extend do_read() in rxe_comp.c for frags > RDMA/rxe: Enable sg code in rxe > > drivers/infiniband/sw/rxe/rxe.c | 5 + > drivers/infiniband/sw/rxe/rxe.h | 3 + > drivers/infiniband/sw/rxe/rxe_comp.c | 46 +++- > drivers/infiniband/sw/rxe/rxe_icrc.c | 65 ++++- > drivers/infiniband/sw/rxe/rxe_loc.h | 27 +- > drivers/infiniband/sw/rxe/rxe_mr.c | 348 +++++++++++++++++++------ > drivers/infiniband/sw/rxe/rxe_net.c | 109 +++++++- > drivers/infiniband/sw/rxe/rxe_opcode.c | 2 + > drivers/infiniband/sw/rxe/rxe_recv.c | 1 + > drivers/infiniband/sw/rxe/rxe_req.c | 88 ++++++- > drivers/infiniband/sw/rxe/rxe_resp.c | 172 +++++++----- > drivers/infiniband/sw/rxe/rxe_verbs.h | 8 +- > 12 files changed, 672 insertions(+), 202 deletions(-) > > What are the following? This is the new format in linux kernel community? Zhu Yanjun > base-commit: 693e1cdebb50d2aa67406411ca6d5be195d62771 > prerequisite-patch-id: c3994e7a93e37e0ce4f50e0c768f3c1a0059a02f > prerequisite-patch-id: 48e13f6ccb560fdeacbd20aaf6696782c23d1190 > prerequisite-patch-id: da75fb8eaa863df840e7b392b5048fcc72b0bef3 > prerequisite-patch-id: d0877649e2edaf00585a0a6a80391fe0d7bbc13b > prerequisite-patch-id: 6495b1d1f664f8ab91ed9ef9d2ca5b3b27d7df35 > prerequisite-patch-id: a6367b8fedd0d8999139c8b857ebbd3ce5c72245 > prerequisite-patch-id: 78c95e90a5e49b15b7af8ef57130739c143e88b5 > prerequisite-patch-id: 7c65a01066c0418de6897bc8b5f44d078d21b0ec > prerequisite-patch-id: 8ab09f93c23c7875e56c597e69236c30464723b6 > prerequisite-patch-id: ca9d84b34873b49048e42fb4c13a2a097c215c46 > prerequisite-patch-id: 0f6a587501c8246e1185dfd0cbf5e2044c5f9b13 > prerequisite-patch-id: 5246df93137429916d76e75b9a13a4ad5ceb0bad > prerequisite-patch-id: 41b0e4150794dd914d9fcb4cd106fe4cf4227611 > prerequisite-patch-id: 02b08ec037bc35b9c7771640c89c66504cdf38a6 > prerequisite-patch-id: dfccc06c16454d7fe8e6fcba064d4e471d314666 > prerequisite-patch-id: 7459a6e5cdd46efd53ba27f9b3e9028af6e0863b > prerequisite-patch-id: 36d49f9303f5cb276a5601c1ab568eea6eca7d3a > prerequisite-patch-id: 6359a681e40832694f81ca003c10e5327996bf7d > prerequisite-patch-id: 558175db657f374dbd3e0a57ac4c5fb77a56b6c6 > prerequisite-patch-id: d6b811de06c8900be5840dd29715161d26db66cf
On 7/27/23 19:40, Zhu Yanjun wrote: > 在 2023/7/28 4:01, Bob Pearson 写道: >> This patch set is a revised version of an older set which implements >> support for nonlinear or fragmented packets. This avoids extra copies >> in both the send and receive paths and gives significant performance >> improvement for large messages such as are used in storage applications. >> >> This patch set has been heavily tested at large system scale and >> demonstrated a 2X improvement in file system read performance on >> a 200 Gb/sec network. >> >> The patch set is rebased to the current for-next branch with the >> following previous patch sets applied: >> RDMA/rxe: Fix incomplete state save in rxe_requester >> RDMA/rxe: Misc fixes and cleanups >> Enable rcu locking of verbs objects >> RDMA/rxe: Misc cleanups >> >> Bob Pearson (10): >> RDMA/rxe: Add sg fragment ops >> RDMA/rxe: Extend rxe_mr_copy to support skb frags >> RDMA/rxe: Extend copy_data to support skb frags >> RDMA/rxe: Extend rxe_init_packet() to support frags >> RDMA/rxe: Extend rxe_icrc.c to support frags >> RDMA/rxe: Extend rxe_init_req_packet() for frags >> RDMA/rxe: Extend response packets for frags >> RDMA/rxe: Extend send/write_data_in() for frags >> RDMA/rxe: Extend do_read() in rxe_comp.c for frags >> RDMA/rxe: Enable sg code in rxe >> >> drivers/infiniband/sw/rxe/rxe.c | 5 + >> drivers/infiniband/sw/rxe/rxe.h | 3 + >> drivers/infiniband/sw/rxe/rxe_comp.c | 46 +++- >> drivers/infiniband/sw/rxe/rxe_icrc.c | 65 ++++- >> drivers/infiniband/sw/rxe/rxe_loc.h | 27 +- >> drivers/infiniband/sw/rxe/rxe_mr.c | 348 +++++++++++++++++++------ >> drivers/infiniband/sw/rxe/rxe_net.c | 109 +++++++- >> drivers/infiniband/sw/rxe/rxe_opcode.c | 2 + >> drivers/infiniband/sw/rxe/rxe_recv.c | 1 + >> drivers/infiniband/sw/rxe/rxe_req.c | 88 ++++++- >> drivers/infiniband/sw/rxe/rxe_resp.c | 172 +++++++----- >> drivers/infiniband/sw/rxe/rxe_verbs.h | 8 +- >> 12 files changed, 672 insertions(+), 202 deletions(-) >> >> > > What are the following? This is the new format in linux kernel community? If you type --base d6b811de06c8900be after git format-patch it documents what the patch was applied to. I have multiple patch sets that have to be applied in order. Three of them have already been submitted but are not upstream yet. The fourth one was submitted just before this set. Bob > > Zhu Yanjun > >> base-commit: 693e1cdebb50d2aa67406411ca6d5be195d62771 >> prerequisite-patch-id: c3994e7a93e37e0ce4f50e0c768f3c1a0059a02f >> prerequisite-patch-id: 48e13f6ccb560fdeacbd20aaf6696782c23d1190 >> prerequisite-patch-id: da75fb8eaa863df840e7b392b5048fcc72b0bef3 >> prerequisite-patch-id: d0877649e2edaf00585a0a6a80391fe0d7bbc13b >> prerequisite-patch-id: 6495b1d1f664f8ab91ed9ef9d2ca5b3b27d7df35 >> prerequisite-patch-id: a6367b8fedd0d8999139c8b857ebbd3ce5c72245 >> prerequisite-patch-id: 78c95e90a5e49b15b7af8ef57130739c143e88b5 >> prerequisite-patch-id: 7c65a01066c0418de6897bc8b5f44d078d21b0ec >> prerequisite-patch-id: 8ab09f93c23c7875e56c597e69236c30464723b6 >> prerequisite-patch-id: ca9d84b34873b49048e42fb4c13a2a097c215c46 >> prerequisite-patch-id: 0f6a587501c8246e1185dfd0cbf5e2044c5f9b13 >> prerequisite-patch-id: 5246df93137429916d76e75b9a13a4ad5ceb0bad >> prerequisite-patch-id: 41b0e4150794dd914d9fcb4cd106fe4cf4227611 >> prerequisite-patch-id: 02b08ec037bc35b9c7771640c89c66504cdf38a6 >> prerequisite-patch-id: dfccc06c16454d7fe8e6fcba064d4e471d314666 >> prerequisite-patch-id: 7459a6e5cdd46efd53ba27f9b3e9028af6e0863b >> prerequisite-patch-id: 36d49f9303f5cb276a5601c1ab568eea6eca7d3a >> prerequisite-patch-id: 6359a681e40832694f81ca003c10e5327996bf7d >> prerequisite-patch-id: 558175db657f374dbd3e0a57ac4c5fb77a56b6c6 >> prerequisite-patch-id: d6b811de06c8900be5840dd29715161d26db66cf >
On Thu, Jul 27, 2023 at 03:01:19PM -0500, Bob Pearson wrote: > This patch set is a revised version of an older set which implements > support for nonlinear or fragmented packets. This avoids extra copies > in both the send and receive paths and gives significant performance > improvement for large messages such as are used in storage applications. > > This patch set has been heavily tested at large system scale and > demonstrated a 2X improvement in file system read performance on > a 200 Gb/sec network. > > The patch set is rebased to the current for-next branch with the > following previous patch sets applied: > RDMA/rxe: Fix incomplete state save in rxe_requester > RDMA/rxe: Misc fixes and cleanups > Enable rcu locking of verbs objects > RDMA/rxe: Misc cleanups > > Bob Pearson (10): > RDMA/rxe: Add sg fragment ops > RDMA/rxe: Extend rxe_mr_copy to support skb frags > RDMA/rxe: Extend copy_data to support skb frags > RDMA/rxe: Extend rxe_init_packet() to support frags > RDMA/rxe: Extend rxe_icrc.c to support frags > RDMA/rxe: Extend rxe_init_req_packet() for frags > RDMA/rxe: Extend response packets for frags > RDMA/rxe: Extend send/write_data_in() for frags > RDMA/rxe: Extend do_read() in rxe_comp.c for frags > RDMA/rxe: Enable sg code in rxe This does not apply to the tree so it will have to be rebased and resent, it looked OK other than the module option question Jason