linux-stable/drivers/staging
Mitko Haralanov 5511d78107 IB/hfi1: Add SDMA cache eviction algorithm
This commit adds a cache eviction algorithm for the SDMA
user buffer cache.

Besides the interval RB tree used for node lookup, the cache
nodes are also arranged in a doubly-linked list. When a node is
used, it is put at the beginning of the list. Less frequently
used nodes naturally move to the tail of the list.

When the cache limit is reached, the eviction code starts
traversing the linked list in reverse, freeing buffers until
enough space has been freed to fit the new user buffer. This
guarantees that only the least used cache nodes will be removed
from the cache.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Jubin John <jubin.john@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-03-21 15:55:25 -04:00
..
android Staging patches for 4.5-rc1 2016-01-13 10:13:36 -08:00
board
clocking-wizard
comedi STAGING: COMEDI: Using kernel types in plx9080.h 2015-12-21 16:02:21 -08:00
dgap
dgnc staging: dgnc: dgnc_cls.c: Replaced udelay by usleep_range 2015-12-21 15:52:34 -08:00
emxx_udc staging: emxx_udc: use list_first_entry_or_null() 2015-12-21 18:32:52 -08:00
fbtft
fsl-mc
fwserial
gdm72xx staging: gdm72xx: add userspace data struct 2015-12-26 17:13:33 -08:00
gdm724x staging: gdm724x: constify tty_port_operations structs 2015-12-26 17:13:33 -08:00
goldfish
gs_fpgaboot
iio Second set of IIO fixes for the 4.5 cycle. These ones are mostly 2016-02-01 13:08:26 -08:00
lustre Initial roundup of 4.5 merge window patches 2016-01-23 18:45:06 -08:00
media media updates for v4.5-rc1 2016-01-13 11:46:37 -08:00
most
mt29f_spinand staging: mt29f_spinand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
netlogic staging: netlogic: Fix build error due to missed API change 2016-01-10 22:06:58 -05:00
nvec
octeon Staging patches for 4.5-rc1 2016-01-13 10:13:36 -08:00
octeon-usb
olpc_dcon
panel Revert "Staging: panel: usleep_range is preferred over udelay" 2016-01-28 22:26:18 -08:00
rdma IB/hfi1: Add SDMA cache eviction algorithm 2016-03-21 15:55:25 -04:00
rtl8188eu
rtl8192e
rtl8192u
rtl8712
rtl8723au
rts5208
skein
slicoss
sm750fb
speakup Staging: speakup: Fix allyesconfig build on mn10300 2016-02-01 13:05:44 -08:00
ste_rmi4
unisys
vme
vt6655
vt6656
wilc1000
wlan-ng
xgifb
Kconfig
Makefile
staging.c