[PATCH for-next v2 00/18] RDMA/rxe: Enable scatter/gather support for skbs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 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. Only RC messages are supported.

On the receive side any fragmented skb is supported.

This patch series is based on the current for-next branch. It also can
be applied to current for-next after the workqueue patch series is
applied without change.

v2:
  Rebased to current for-next from wip/jgg-for-next.
  One patch is split into two 03/17 -> 03/18 and 04/18
  Three errors reported by the kernel test robot are fixed
	04/18	Fix use of uninitialized variable in error path
	13/18	Missing static declaration
	15/18	Fix use of uninitialized variable in error path
Reported-by: kernel test robot <lkp@xxxxxxxxx>

Bob Pearson (18):
  RDMA/rxe: Isolate code to fill request roce headers
  RDMA/rxe: Isolate request payload code in a subroutine
  RDMA/rxe: Remove paylen parameter from rxe_init_packet
  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, 866 insertions(+), 349 deletions(-)


base-commit: 4508d32ccced24c972bc4592104513e1ff8439b5
-- 
2.34.1




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux