This patch series implements support for network devices that can handle or produce fragmented packets. This has the performance advantage of reducing the number of copies of payloads for large packets. On the send side packets packets are created with the network and roce headers in the linear portion of the skb and the payload in skb fragments. The pad and icrc are appended in an additional fragment pointing at data stored in free space in the tail of the linear buffer. On the receive side any fragmented skb is supported. This patch series is based on the current wip/jgg-for-next branch. Bob Pearson (17): RDMA/rxe: Isolate code to fill request roce headers RDMA/rxe: Isolate request payload code in a subroutine RDMA/rxe: Isolate code to build request packet RDMA/rxe: Add sg fragment ops RDMA/rxe: Add rxe_add_frag() to rxe_mr.c RDMA/rxe: Add routine to compute the number of frags RDMA/rxe: Extend rxe_mr_copy to support skb frags RDMA/rxe: Add routine to compute number of frags for dma RDMA/rxe: Extend copy_data to support skb frags RDMA/rxe: Replace rxe by qp as a parameter 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 | 3 + drivers/infiniband/sw/rxe/rxe.h | 3 + drivers/infiniband/sw/rxe/rxe_comp.c | 47 ++- drivers/infiniband/sw/rxe/rxe_icrc.c | 65 +++- drivers/infiniband/sw/rxe/rxe_loc.h | 30 +- drivers/infiniband/sw/rxe/rxe_mr.c | 419 +++++++++++++++++++------- drivers/infiniband/sw/rxe/rxe_net.c | 137 +++++++-- drivers/infiniband/sw/rxe/rxe_recv.c | 1 + drivers/infiniband/sw/rxe/rxe_req.c | 286 +++++++++++------- drivers/infiniband/sw/rxe/rxe_resp.c | 209 ++++++++----- drivers/infiniband/sw/rxe/rxe_verbs.h | 15 +- 11 files changed, 865 insertions(+), 350 deletions(-) base-commit: c9eeabac5e8d27a3f40280908e089058bab39edb -- 2.34.1