linux-stable/drivers/infiniband/hw/hfi1
Davidlohr Bueso f808c13fd3 lib/interval_tree: fast overlap detection
Allow interval trees to quickly check for overlaps to avoid unnecesary
tree lookups in interval_tree_iter_first().

As of this patch, all interval tree flavors will require using a
'rb_root_cached' such that we can have the leftmost node easily
available.  While most users will make use of this feature, those with
special functions (in addition to the generic insert, delete, search
calls) will avoid using the cached option as they can do funky things
with insertions -- for example, vma_interval_tree_insert_after().

[jglisse@redhat.com: fix deadlock from typo vm_lock_anon_vma()]
  Link: http://lkml.kernel.org/r/20170808225719.20723-1-jglisse@redhat.com
Link: http://lkml.kernel.org/r/20170719014603.19029-12-dave@stgolabs.net
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Doug Ledford <dledford@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-09-08 18:26:49 -07:00
..
affinity.c IB/hfi1: Replace deprecated pci functions with new API 2017-06-27 16:58:11 -04:00
affinity.h IB/hfi1: Name function prototype parameters for affinity module 2017-06-27 16:56:33 -04:00
aspm.h IB/hf1: User context locking is inconsistent 2017-08-22 14:22:36 -04:00
chip.c IB/hfi1: Ratelimit prints from sdma_interrupt 2017-08-28 19:12:18 -04:00
chip.h IB/hfi1: Remove pstate from hfi1_pportdata 2017-08-22 14:22:38 -04:00
chip_registers.h RDMA/hfi1: Defer setting VL15 credits to link-up interrupt 2017-06-01 17:04:20 -04:00
common.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
debugfs.c IB/hfi1: Convert qp_stats debugfs interface to use new iterator API 2017-08-28 19:12:30 -04:00
debugfs.h IB/hfi1: Add transmit fault injection feature 2017-04-05 14:45:09 -04:00
device.c infiniband: utilize the new cdev_set_parent function 2017-03-21 06:44:33 +01:00
device.h
driver.c IB/hfi1: Add kernel receive context info to debugfs 2017-08-22 14:22:38 -04:00
efivar.c IB/hfi1: Check upper-case EFI variables 2017-02-19 09:18:37 -05:00
efivar.h
eprom.c IB/hfi1: Handle missing magic values in config file 2017-06-27 16:58:13 -04:00
eprom.h IB/hfi1: Add ability to read platform config from the EPROM 2016-10-02 08:42:20 -04:00
exp_rcv.c IB/hfi1: Initialize TID lists to avoid crash on cleanup 2017-06-27 16:58:13 -04:00
exp_rcv.h IB/hfi1: Fix bar0 mapping to use write combining 2017-07-31 15:17:54 -04:00
file_ops.c IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
firmware.c IB/hfi1: Load fallback platform configuration per HFI device 2017-08-22 14:22:37 -04:00
hfi.h IB/hfi1: Ratelimit prints from sdma_interrupt 2017-08-28 19:12:18 -04:00
init.c IB/hf1: User context locking is inconsistent 2017-08-22 14:22:36 -04:00
intr.c IB/hfi1: Verify port data VLs credits on transition to Armed 2017-07-31 15:18:37 -04:00
iowait.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
Kconfig IB/hfi1: Remove HFI1_VERBS_31BIT_PSN option 2017-08-22 14:22:38 -04:00
mad.c IB/hfi1: Fix whitespace alignment issue for MAD 2017-08-28 19:12:23 -04:00
mad.h IB/hfi1: Send MAD traps until repressed 2017-07-31 15:17:55 -04:00
Makefile IB/hfi1: Create common expected receive verbs/PSM code 2017-06-27 16:58:13 -04:00
mmu_rb.c lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
mmu_rb.h IB/hfi1: Don't remove RB entry when not needed. 2017-06-27 16:56:33 -04:00
opa_compat.h IB/hfi1: Document phys port state bits not used in IB 2017-08-22 14:22:37 -04:00
pcie.c IB/hfi1: Move saving PCI values to a separate function 2017-07-31 15:18:37 -04:00
pio.c IB/hfi1: Create workqueue for link events 2017-07-31 15:18:38 -04:00
pio.h IB/hfi: Fix up comments in engine mapping 2017-04-25 15:24:51 -04:00
pio_copy.c IB/hfi1: Optimize pio_buf and send_context structs 2016-11-15 16:37:27 -05:00
platform.c IB/hfi1: Acquire QSFP cable information on loopback 2017-08-28 19:12:26 -04:00
platform.h IB/hfi1: Define platform_config_table_limits once 2016-12-11 15:29:42 -05:00
qp.c IB/hfi1: Convert qp_stats debugfs interface to use new iterator API 2017-08-28 19:12:30 -04:00
qp.h IB/hfi1: Convert qp_stats debugfs interface to use new iterator API 2017-08-28 19:12:30 -04:00
qsfp.c IB/hfi1: Extend i2c timeout 2016-10-02 08:42:13 -04:00
qsfp.h IB/hfi1: Fetch monitor values on-demand for CableInfo query 2016-08-22 14:31:41 -04:00
rc.c IB/{qib, hfi1}: Avoid flow control testing for RDMA write operation 2017-08-28 19:12:16 -04:00
ruc.c IB/hfi1: Add 16B RC/UC support 2017-08-22 14:22:37 -04:00
sdma.c IB/hfi1: Create workqueue for link events 2017-07-31 15:18:38 -04:00
sdma.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
sdma_txreq.h
sysfs.c IB/hfi1: add const to bin_attribute structures 2017-08-18 14:06:09 -04:00
trace.c IB/hfi1: Add 16B trace support 2017-08-22 14:22:37 -04:00
trace.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
trace_ctxts.h IB/hfi1: Clean up context initialization 2017-05-04 19:31:46 -04:00
trace_dbg.h IB/hfi1: Separate tracepoints into specific headers 2016-08-02 12:00:54 -04:00
trace_ibhdrs.h IB/hfi1: Add 16B trace support 2017-08-22 14:22:37 -04:00
trace_misc.h IB/hfi1: Add traces for TID operations 2017-06-27 16:58:13 -04:00
trace_mmu.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
trace_rc.h IB/rdmavt, IB/hfi1: Fix timer migration regressions 2017-04-05 14:45:09 -04:00
trace_rx.h IB/hf1: User context locking is inconsistent 2017-08-22 14:22:36 -04:00
trace_tx.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
uc.c IB/hfi1: Add 16B RC/UC support 2017-08-22 14:22:37 -04:00
ud.c IB/hfi1: Add 16B UD support 2017-08-22 14:22:37 -04:00
user_exp_rcv.c IB/hfi1: Move structure definitions from user_exp_rcv.c to user_exp_rcv.h 2017-08-28 19:12:22 -04:00
user_exp_rcv.h IB/hfi1: Move structure definitions from user_exp_rcv.c to user_exp_rcv.h 2017-08-28 19:12:22 -04:00
user_pages.c IB/hfi1: Virtual Network Interface Controller (VNIC) HW support 2017-04-20 15:19:35 -04:00
user_sdma.c IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
user_sdma.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
verbs.c IB/hfi1: Enable RDMA_CAP_OPA_AH in hfi driver to support extended LIDs 2017-08-22 14:22:37 -04:00
verbs.h IB/hfi1: Remove HFI1_VERBS_31BIT_PSN option 2017-08-22 14:22:38 -04:00
verbs_txreq.c IB/hfi1: Improve local kmem_cache_alloc performance 2017-08-28 19:12:18 -04:00
verbs_txreq.h IB/hfi1: Remove dependence on qp->s_cur_size 2016-12-11 15:25:13 -05:00
vnic.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
vnic_main.c IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
vnic_sdma.c IB/hfi1: Improve local kmem_cache_alloc performance 2017-08-28 19:12:18 -04:00