summaryrefslogtreecommitdiff
path: root/include/rdma
diff options
context:
space:
mode:
authorMitko Haralanov <mitko.haralanov@intel.com>2016-03-08 22:15:44 +0300
committerDoug Ledford <dledford@redhat.com>2016-03-21 22:55:25 +0300
commit5511d7810752f426f0a9f999100fd249d352c2ef (patch)
tree2b097aa231202242de13159ffd9a98422ff5d672 /include/rdma
parenta7922f7ddf023c93b0c409d7a3557fdf0b5ce343 (diff)
downloadlinux-5511d7810752f426f0a9f999100fd249d352c2ef.tar.xz
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>
Diffstat (limited to 'include/rdma')
0 files changed, 0 insertions, 0 deletions