linux/drivers
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
..
accessibility
acpi
amba
android
ata
atm
auxdisplay
base treewide: make "nr_cpu_ids" unsigned 2017-09-08 18:26:48 -07:00
bcma
block drivers/block/zram/zram_drv.c: convert to using memset_l 2017-09-08 18:26:48 -07:00
bluetooth
bus
cdrom
char
clk
clocksource
connector
cpufreq
cpuidle
crypto dmaengine updates for 4.14-rc1 2017-09-07 14:03:05 -07:00
dax
dca
devfreq
dio
dma dmaengine updates for 4.14-rc1 2017-09-07 14:03:05 -07:00
dma-buf
edac
eisa
extcon
firewire
firmware
fmc
fpga
fsi
gpio - New Drivers 2017-09-07 13:51:13 -07:00
gpu lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
hid media updates for v4.14-rc1 2017-09-07 12:53:14 -07:00
hsi
hv
hwmon
hwspinlock
hwtracing
i2c
ide
idle
iio - New Drivers 2017-09-07 13:51:13 -07:00
infiniband lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
input - New Drivers 2017-09-07 13:51:13 -07:00
iommu
ipack
irqchip
isdn
leds LED updates for 4.14 2017-09-07 14:33:13 -07:00
lightnvm
macintosh
mailbox Just behavorial changes to a controller driver: 2017-09-07 13:23:37 -07:00
mcb
md Merge tag 'md/4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md 2017-09-07 12:41:48 -07:00
media media updates for v4.14-rc1 2017-09-07 12:53:14 -07:00
memory
memstick
message
mfd - New Drivers 2017-09-07 13:51:13 -07:00
misc
mmc
mtd linux/kernel.h: move DIV_ROUND_DOWN_ULL() macro 2017-09-08 18:26:47 -07:00
mux
net - For the randstruct plugin, enable automatic randomization of structures 2017-09-07 20:30:19 -07:00
nfc
ntb
nubus
nvdimm
nvme
nvmem
of DeviceTree updates for 4.14: 2017-09-07 14:43:33 -07:00
oprofile
parisc
parport
pci
pcmcia
perf
phy - New Drivers 2017-09-07 13:51:13 -07:00
pinctrl - New Drivers 2017-09-07 13:51:13 -07:00
platform
pnp
power - New Drivers 2017-09-07 13:51:13 -07:00
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator - New Drivers 2017-09-07 13:51:13 -07:00
remoteproc
reset
rpmsg
rtc
s390 SCSI misc on 20170907 2017-09-07 21:11:05 -07:00
sbus
scsi treewide: make "nr_cpu_ids" unsigned 2017-09-08 18:26:48 -07:00
sfi
sh
sn
soc
spi
spmi
ssb
staging SCSI misc on 20170907 2017-09-07 21:11:05 -07:00
target
tc
tee
thermal
thunderbolt
tty
uio
usb SCSI misc on 20170907 2017-09-07 21:11:05 -07:00
uwb
vfio
vhost lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
video - Fix-ups 2017-09-07 13:55:16 -07:00
virt
virtio SCSI misc on 20170907 2017-09-07 21:11:05 -07:00
vlynq
vme
w1
watchdog
xen
zorro
Kconfig
Makefile