linux/drivers/infiniband/hw/qib
CQ Tang 4668e4b527 IB/qib: Improve SDMA performance
1. The code accepts chunks of messages, and splits the chunk into
   packets when converting packets into sdma queue entries.  Adjacent
   packets will use user buffer pages smartly to avoid pinning the
   same page multiple times.

2. Instead of discarding all the work when SDMA queue is full, the
   work is saved in a pending queue.  Whenever there are enough SDMA
   queue free entries, pending queue is directly put onto SDMA queue.

3. An interrupt handler is used to progress this pending queue.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: CQ Tang <cq.tang@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>

[ Fixed up sparse warnings.  - Roland ]

Signed-off-by: Roland Dreier <roland@purestorage.com>
2013-08-13 11:14:34 -07:00
..
Kconfig IB/qib: Add DCA support 2013-06-21 17:19:38 -07:00
Makefile IB/qib: Convert opcode counters to per-context 2013-06-21 17:19:50 -07:00
qib_6120_regs.h
qib_7220_regs.h
qib_7220.h IB/qib: Eliminate 64-bit jiffies use 2012-01-03 20:52:12 -08:00
qib_7322_regs.h IB/qib: Mask hardware error during link reset 2010-07-06 14:13:20 -07:00
qib_common.h IB/qib: Improve SDMA performance 2013-08-13 11:14:34 -07:00
qib_cq.c IB/qib: Optimize CQ callbacks 2013-06-21 17:19:49 -07:00
qib_debugfs.c IB/qib: Add qp_stats debug file 2013-06-21 17:19:52 -07:00
qib_debugfs.h IB/qib: Convert opcode counters to per-context 2013-06-21 17:19:50 -07:00
qib_diag.c IB/qib: checkpatch fixes 2012-07-19 11:20:04 -07:00
qib_dma.c
qib_driver.c IB/qib: Convert opcode counters to per-context 2013-06-21 17:19:50 -07:00
qib_eeprom.c IB/qib: checkpatch fixes 2012-07-19 11:20:04 -07:00
qib_file_ops.c IB/qib: Improve SDMA performance 2013-08-13 11:14:34 -07:00
qib_fs.c fs: Limit sys_mount to only request filesystem modules. 2013-03-03 19:36:31 -08:00
qib_iba6120.c IB/qib: Add DCA support 2013-06-21 17:19:38 -07:00
qib_iba7220.c IB/qib: Add DCA support 2013-06-21 17:19:38 -07:00
qib_iba7322.c IB/qib: Add err_decode() call for ring dump 2013-07-30 10:13:00 -07:00
qib_init.c IB/qib: Fix module-level leak 2013-07-11 16:46:44 -07:00
qib_intr.c IB/qib: checkpatch fixes 2012-07-19 11:20:04 -07:00
qib_keys.c IB/qib: Fix lockdep splat in qib_alloc_lkey() 2013-06-04 17:05:20 -07:00
qib_mad.c IB/qib: Fix failure of compliance test C14-024#06_LocalPortNum 2012-09-14 10:42:32 -07:00
qib_mad.h IB/qib: Add congestion control agent implementation 2012-07-19 11:20:04 -07:00
qib_mmap.c
qib_mr.c IB/qib: RCU locking for MR validation 2012-07-08 18:05:19 -07:00
qib_pcie.c Merge branch 'pci/stephen-const' into next 2012-09-12 13:54:10 -06:00
qib_pio_copy.c
qib_qp.c IB/qib: Add qp_stats debug file 2013-06-21 17:19:52 -07:00
qib_qsfp.c IB/qib: Fix over-scheduling of QSFP work 2011-11-28 12:17:33 -08:00
qib_qsfp.h IB/qib: Eliminate 64-bit jiffies use 2012-01-03 20:52:12 -08:00
qib_rc.c IB/qib: Avoid returning EBUSY from MR deregister 2012-07-08 18:05:19 -07:00
qib_ruc.c IB/qib: Avoid returning EBUSY from MR deregister 2012-07-08 18:05:19 -07:00
qib_sd7220.c firmware,IB/qib: revert firmware file move 2013-04-05 12:19:39 -07:00
qib_sdma.c IB/qib: Improve SDMA performance 2013-08-13 11:14:34 -07:00
qib_srq.c RDMA/core: Add SRQ type field 2011-10-13 09:13:26 -07:00
qib_sysfs.c IB/qib: Correct qib_verbs_register_sysfs() error handling 2013-04-16 23:04:36 -07:00
qib_twsi.c IB/qib: checkpatch fixes 2012-07-19 11:20:04 -07:00
qib_tx.c IB/qib: Optimize pio ack buffer allocation 2012-05-14 12:37:03 -07:00
qib_uc.c IB/qib: Avoid returning EBUSY from MR deregister 2012-07-08 18:05:19 -07:00
qib_ud.c IB/qib: Avoid returning EBUSY from MR deregister 2012-07-08 18:05:19 -07:00
qib_user_pages.c mm: distinguish between mlocked and pinned pages 2011-10-31 17:30:46 -07:00
qib_user_sdma.c IB/qib: Improve SDMA performance 2013-08-13 11:14:34 -07:00
qib_user_sdma.h
qib_verbs_mcast.c
qib_verbs.c IB/qib: Convert opcode counters to per-context 2013-06-21 17:19:50 -07:00
qib_verbs.h IB/qib: Add qp_stats debug file 2013-06-21 17:19:52 -07:00
qib_wc_ppc64.c
qib_wc_x86_64.c IB/qib: checkpatch fixes 2012-07-19 11:20:04 -07:00
qib.h IB/qib: Improve SDMA performance 2013-08-13 11:14:34 -07:00