linux/drivers/infiniband/hw/qib
Mike Marciniszyn 14fe13fcd3 IB/rdmavt: Compress adjacent SGEs in rvt_lkey_ok()
SGEs that are contiguous needlessly consume driver dependent TX resources.

The lkey validation logic is enhanced to compress the SGE that ends
up in the send wqe when consecutive addresses are detected.

The lkey validation API used to return 1 (success) or 0 (fail).

The return value is now an -errno, 0 (compressed), or 1 (uncompressed).  A
additional argument is added to pass the last SQE for the compression.

Loopback callers always pass a NULL to last_sge since the optimization is
of little benefit in that situation.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Brian Welty <brian.welty@intel.com>
Signed-off-by: Venkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-06-27 16:56:33 -04:00
..
Kconfig
Makefile
qib_6120_regs.h
qib_7220_regs.h
qib_7220.h
qib_7322_regs.h
qib_common.h IB/hfi1, qib, rdmavt: Move AETH credit functions into rdmavt 2017-02-19 09:18:38 -05:00
qib_debugfs.c IB/hfi1,IB/qib: Fix qp_stats sleep with rcu read lock held 2016-08-22 14:31:34 -04:00
qib_debugfs.h
qib_diag.c IB/qib: Remove debug prints after allocation failure 2016-12-03 13:12:52 -05:00
qib_driver.c IB/qib: Use standard refcount wrapper for QPs 2016-12-11 15:29:42 -05:00
qib_eeprom.c IB/qib: Remove debug prints after allocation failure 2016-12-03 13:12:52 -05:00
qib_file_ops.c mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
qib_fs.c fs: constify tree_descr arrays passed to simple_fill_super() 2017-04-26 23:54:06 -04:00
qib_iba6120.c IB/qib: use setup_timer 2017-04-28 13:19:14 -04:00
qib_iba7220.c IB/qib: use setup_timer 2017-04-28 13:19:14 -04:00
qib_iba7322.c IB/qib: use setup_timer 2017-04-28 13:19:14 -04:00
qib_init.c IB/qib: use setup_timer 2017-04-28 13:19:14 -04:00
qib_intr.c
qib_keys.c IB/qib: Remove DMA mapping code 2017-01-24 12:23:35 -05:00
qib_mad.c IB/core: Use rdma_ah_attr accessor functions 2017-05-01 14:32:43 -04:00
qib_mad.h
qib_pcie.c RDMA/qib: drop qib_pci_link_reset() 2017-01-12 11:38:41 -05:00
qib_pio_copy.c
qib_qp.c IB/core: Use rdma_ah_attr accessor functions 2017-05-01 14:32:43 -04:00
qib_qsfp.c IB/qib: Remove empty function 2017-01-24 16:20:37 -05:00
qib_qsfp.h IB/qib: Remove empty function 2017-01-24 16:20:37 -05:00
qib_rc.c RDMA/qib,hfi1: Fix MR reference count leak on write with immediate 2017-06-01 17:04:33 -04:00
qib_ruc.c IB/rdmavt: Compress adjacent SGEs in rvt_lkey_ok() 2017-06-27 16:56:33 -04:00
qib_sd7220.c
qib_sdma.c
qib_sysfs.c
qib_twsi.c
qib_tx.c
qib_uc.c IB/core: Use rdma_ah_attr accessor functions 2017-05-01 14:32:43 -04:00
qib_ud.c IB/core: Use rdma_ah_attr accessor functions 2017-05-01 14:32:43 -04:00
qib_user_pages.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
qib_user_sdma.c RDMA/qib: use rb_entry() 2017-01-12 11:38:41 -05:00
qib_user_sdma.h
qib_verbs.c IB/core: Define 'ib' and 'roce' rdma_ah_attr types 2017-05-01 14:32:43 -04:00
qib_verbs.h IB/core: Use rdma_ah_attr accessor functions 2017-05-01 14:32:43 -04:00
qib_wc_ppc64.c
qib_wc_x86_64.c
qib.h IB/qib: Remove qpt_mask global 2016-10-02 08:42:11 -04:00