aboutsummaryrefslogtreecommitdiff
path: root/lib/timerqueue.c
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2020-04-29 17:03:22 +0200
committerIngo Molnar <mingo@kernel.org>2021-02-17 14:07:31 +0100
commit2d24dd5798d0474d9bf705bfca8725e7d20f9d54 (patch)
tree895ec9efd5a44987e173310f228135fbeb28b17b /lib/timerqueue.c
parent9fe1f127b913318c631d0041ecf71486e38c2c2d (diff)
downloadlinux-2d24dd5798d0474d9bf705bfca8725e7d20f9d54.tar.gz
linux-2d24dd5798d0474d9bf705bfca8725e7d20f9d54.tar.bz2
linux-2d24dd5798d0474d9bf705bfca8725e7d20f9d54.zip
rbtree: Add generic add and find helpers
I've always been bothered by the endless (fragile) boilerplate for rbtree, and I recently wrote some rbtree helpers for objtool and figured I should lift them into the kernel and use them more widely. Provide: partial-order; less() based: - rb_add(): add a new entry to the rbtree - rb_add_cached(): like rb_add(), but for a rb_root_cached total-order; cmp() based: - rb_find(): find an entry in an rbtree - rb_find_add(): find an entry, and add if not found - rb_find_first(): find the first (leftmost) matching entry - rb_next_match(): continue from rb_find_first() - rb_for_each(): iterate a sub-tree using the previous two Inlining and constant propagation should see the compiler inline the whole thing, including the various compare functions. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Michel Lespinasse <walken@google.com> Acked-by: Davidlohr Bueso <dbueso@suse.de>
Diffstat (limited to 'lib/timerqueue.c')
0 files changed, 0 insertions, 0 deletions