[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 01/24] util: Add interval-tree.c
From: |
Alex Bennée |
Subject: |
Re: [PATCH 01/24] util: Add interval-tree.c |
Date: |
Tue, 25 Oct 2022 09:40:35 +0100 |
User-agent: |
mu4e 1.9.1; emacs 28.2.50 |
Richard Henderson <richard.henderson@linaro.org> writes:
> Copy and simplify the Linux kernel's interval_tree_generic.h,
> instantiating for uint64_t.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
<snip>
> diff --git a/util/interval-tree.c b/util/interval-tree.c
> new file mode 100644
> index 0000000000..9578c05830
> --- /dev/null
> +++ b/util/interval-tree.c
> @@ -0,0 +1,881 @@
<snip>
> +
> +#if 1
> +static void debug_interval_tree_int(IntervalTreeNode *node,
> + const char *dir, int level)
> +{
> + printf("%4d %*s %s [%" PRId64 ",%" PRId64 "] subtree_last:%" PRId64 "\n",
> + level, level + 1, dir, rb_is_red(&node->rb) ? "r" : "b",
> + node->start, node->last, node->subtree_last);
> +
> + if (node->rb.rb_left) {
> + debug_interval_tree_int(rb_to_itree(node->rb.rb_left), "<", level +
> 1);
> + }
> + if (node->rb.rb_right) {
> + debug_interval_tree_int(rb_to_itree(node->rb.rb_right), ">", level +
> 1);
> + }
> +}
> +
> +void debug_interval_tree(IntervalTreeNode *node);
> +void debug_interval_tree(IntervalTreeNode *node)
> +{
> + if (node) {
> + debug_interval_tree_int(node, "*", 0);
> + } else {
> + printf("null\n");
> + }
> +}
> +#endif
This seems superfluous especially as we have unit tests.
Otherwise:
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
- [PATCH 00/24] accel/tcg: Rewrite user-only vma tracking, Richard Henderson, 2022/10/05
- [PATCH 02/24] accel/tcg: Make page_alloc_target_data allocation constant, Richard Henderson, 2022/10/05
- [PATCH 01/24] util: Add interval-tree.c, Richard Henderson, 2022/10/05
- Re: [PATCH 01/24] util: Add interval-tree.c,
Alex Bennée <=
- [PATCH 03/24] accel/tcg: Remove disabled debug in translate-all.c, Richard Henderson, 2022/10/05
- [PATCH 04/24] accel/tcg: Split out PageDesc to internal.h, Richard Henderson, 2022/10/05
- [PATCH 06/24] accel/tcg: Move assert_no_pages_locked to internal.h, Richard Henderson, 2022/10/05
- [PATCH 07/24] accel/tcg: Drop cpu_get_tb_cpu_state from TARGET_HAS_PRECISE_SMC, Richard Henderson, 2022/10/05
- [PATCH 08/24] accel/tcg: Remove duplicate store to tb->page_addr[], Richard Henderson, 2022/10/05