summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorMitko Haralanov <mitko.haralanov@intel.com>2016-03-08 11:15:44 -0800
committerDoug Ledford <dledford@redhat.com>2016-03-21 15:55:25 -0400
commit5511d7810752f426f0a9f999100fd249d352c2ef (patch)
tree2b097aa231202242de13159ffd9a98422ff5d672 /drivers/infiniband
parenta7922f7ddf023c93b0c409d7a3557fdf0b5ce343 (diff)
downloadblackbird-obmc-linux-5511d7810752f426f0a9f999100fd249d352c2ef.tar.gz
blackbird-obmc-linux-5511d7810752f426f0a9f999100fd249d352c2ef.zip
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 'drivers/infiniband')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud