summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorMitko Haralanov <mitko.haralanov@intel.com>2016-03-08 19:15:44 (GMT)
committerDoug Ledford <dledford@redhat.com>2016-03-21 19:55:25 (GMT)
commit5511d7810752f426f0a9f999100fd249d352c2ef (patch)
tree2b097aa231202242de13159ffd9a98422ff5d672 /net
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 'net')
0 files changed, 0 insertions, 0 deletions