android_kernel_xiaomi_sm8350/drivers/infiniband/core
Jack Morgenstein f36e1793e2 IB/umad: Add support for large RMPP transfers
Add support for sending and receiving large RMPP transfers.  The old
code supports transfers only as large as a single contiguous kernel
memory allocation.  This patch uses linked list of memory buffers when
sending and receiving data to avoid needing contiguous pages for
larger transfers.

  Receive side: copy the arriving MADs in chunks instead of coalescing
  to one large buffer in kernel space.

  Send side: split a multipacket MAD buffer to a list of segments,
  (multipacket_list) and send these using a gather list of size 2.
  Also, save pointer to last sent segment, and retrieve requested
  segments by walking list starting at last sent segment. Finally,
  save pointer to last-acked segment.  When retrying, retrieve
  segments for resending relative to this pointer.  When updating last
  ack, start at this pointer.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2006-03-20 10:08:23 -08:00
..
agent.c IB/mad: Simplify SMI by eliminating smi_check_local_dr_smp() 2006-03-20 10:08:11 -08:00
agent.h [PATCH] missing include in infiniband 2005-10-29 10:35:07 -07:00
cache.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
cm_msgs.h [IB] cm: Add missing break in switch 2005-10-20 12:29:36 -07:00
cm.c IB/cm: Check cm_id state before handling a REP 2006-03-20 10:08:23 -08:00
core_priv.h [PATCH] IB: move include files to include/rdma 2005-08-26 20:37:38 -07:00
device.c IB: convert from semaphores to mutexes 2006-01-13 14:51:39 -08:00
fmr_pool.c IB: Enable FMR pool user to set page size 2006-03-20 10:08:10 -08:00
mad_priv.h IB/umad: Add support for large RMPP transfers 2006-03-20 10:08:23 -08:00
mad_rmpp.c IB/umad: Add support for large RMPP transfers 2006-03-20 10:08:23 -08:00
mad_rmpp.h [IB] Fix MAD layer DMA mappings to avoid touching data buffer once mapped 2005-10-25 10:51:39 -07:00
mad.c IB/umad: Add support for large RMPP transfers 2006-03-20 10:08:23 -08:00
Makefile [PATCH] IB: clean up user access config options 2005-09-07 12:43:08 -07:00
packer.c [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
sa_query.c IB/sa_query: Flush scheduled work before unloading module 2006-01-17 09:53:51 -08:00
smi.c [PATCH] IB: move include files to include/rdma 2005-08-26 20:37:38 -07:00
smi.h IB/mad: Simplify SMI by eliminating smi_check_local_dr_smp() 2006-03-20 10:08:11 -08:00
sysfs.c IB: Allow userspace to set node description 2006-03-20 10:08:09 -08:00
ucm.c [PATCH] IB: fix up major/minor sysfs interface for IB core 2006-02-06 12:17:17 -08:00
ud_header.c [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
user_mad.c IB/umad: Add support for large RMPP transfers 2006-03-20 10:08:23 -08:00
uverbs_cmd.c IB/uverbs: Fix query QP return of sq_sig_all 2006-03-20 10:08:21 -08:00
uverbs_main.c IB/uverbs: Support for query SRQ from userspace 2006-03-20 10:08:14 -08:00
uverbs_mem.c [PATCH] IB: Add copyright notices 2005-08-26 20:37:35 -07:00
uverbs.h IB/uverbs: Support for query SRQ from userspace 2006-03-20 10:08:14 -08:00
verbs.c IB: Fix modify QP checking of "current QP state" attribute 2006-03-20 10:08:20 -08:00