diff options
author | Mitko Haralanov <mitko.haralanov@intel.com> | 2016-05-12 10:23:09 -0700 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-05-13 19:39:16 -0400 |
commit | 67caea1fec85266590dddfa431e1cb000bc942f4 (patch) | |
tree | 99a3447c05519f37fdf9e6208bbeffe15f49046f /.get_maintainer.ignore | |
parent | IB/hfi1: Fix potential panic with sdma drained mechanism (diff) | |
download | linux-dev-67caea1fec85266590dddfa431e1cb000bc942f4.tar.xz linux-dev-67caea1fec85266590dddfa431e1cb000bc942f4.zip |
IB/hfi1: Improve performance of interval RB trees
The interval RB tree management functions use handlers to
store user-specific callback for the various tree operations.
These handlers are put on a doubly-linked list. When a RB
tree function is called, the list is searched for the handler
of the particular tree.
The list which holds the handlers is modified very rarely - when
a handler is created and when a handler is removed. On the other
hand, it is searched very often. This a perfect usage scenario
for RCU.
The result is a much lower overhead of traversing the list as most
of the time no locking will be required.
Reviewed-by: Dean Luick <dean.luick@intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to '.get_maintainer.ignore')
0 files changed, 0 insertions, 0 deletions