From: Johannes Berg <johannes.berg@xxxxxxxxx> We just map them to the normal rb_tree, losing the efficiency gain in this case. ticket=none Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> --- backport/backport-include/linux/rbtree.h | 25 ++++++++++++++++++++++++ patches/0104-rb-tree-cached.cocci | 5 +++++ 2 files changed, 30 insertions(+) create mode 100644 backport/backport-include/linux/rbtree.h create mode 100644 patches/0104-rb-tree-cached.cocci diff --git a/backport/backport-include/linux/rbtree.h b/backport/backport-include/linux/rbtree.h new file mode 100644 index 000000000000..feccff36e7dd --- /dev/null +++ b/backport/backport-include/linux/rbtree.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (C) 2021 Intel Corporation + */ +#ifndef __BACKPORT_RBTREE_H +#define __BACKPORT_RBTREE_H +#include_next <linux/rbtree.h> + +#if LINUX_VERSION_IS_LESS(4,14,0) +#define rb_root_cached rb_root +#define rb_first_cached rb_first +static inline void rb_insert_color_cached(struct rb_node *node, + struct rb_root_cached *root, + bool leftmost) +{ + rb_insert_color(node, root); +} +#define rb_erase_cached rb_erase +#define RB_ROOT_CACHED RB_ROOT +#define rb_root_node(root) (root)->rb_node +#else +#define rb_root_node(root) (root)->rb_root.rb_node +#endif + +#endif /* __BACKPORT_RBTREE_H */ diff --git a/patches/0104-rb-tree-cached.cocci b/patches/0104-rb-tree-cached.cocci new file mode 100644 index 000000000000..a8388c847a5a --- /dev/null +++ b/patches/0104-rb-tree-cached.cocci @@ -0,0 +1,5 @@ +@@ +struct rb_root_cached *root; +@@ +-root->rb_root.rb_node ++rb_root_node(root) -- 2.31.1 -- To unsubscribe from this list: send the line "unsubscribe backports" in