History log of /kvmtool/util/rbtree-interval.c (Results 1 – 9 of 9)
Revision Date Author Comments
# a83f8ed1 25-Nov-2012 Michel Lespinasse <walken@google.com>

kvm tools: remove max_high field in rb_int_node structure

Since nothing depends on the max_high field values anymore, we can just
remove the field and the code that was used to maintain it.

Signed-

kvm tools: remove max_high field in rb_int_node structure

Since nothing depends on the max_high field values anymore, we can just
remove the field and the code that was used to maintain it.

Signed-off-by: Michel Lespinasse <walken@google.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>

show more ...


# ffc83de3 25-Nov-2012 Michel Lespinasse <walken@google.com>

kvm tools: rb_int_search_single simplification

As the rbtree intervals are not overlapping, rb_int_search_single can
trivially be implemented without making use of the max_high field.

Signed-off-by

kvm tools: rb_int_search_single simplification

As the rbtree intervals are not overlapping, rb_int_search_single can
trivially be implemented without making use of the max_high field.

Signed-off-by: Michel Lespinasse <walken@google.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>

show more ...


# 3e64a4a4 25-Nov-2012 Michel Lespinasse <walken@google.com>

kvm tools: ensure non-overlapping intervals in rb_int_insert()

The rbtree interval API is designed for handling non-overlapping intervals;
modify rb_int_insert() to guarantee this property is mainta

kvm tools: ensure non-overlapping intervals in rb_int_insert()

The rbtree interval API is designed for handling non-overlapping intervals;
modify rb_int_insert() to guarantee this property is maintained by
returning -EEXIST when attempting to insert a new interval that overlaps
an existing interval.

Also fix an issue where the computation of 'result' could trigger an
integer overflow which would break the rbtree ordering.

Signed-off-by: Michel Lespinasse <walken@google.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>

show more ...


# c59e43aa 29-Oct-2012 Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

kvm tools: fix rbtree-interval search

I've noticed message on kvm exit:

Warning: serial8250__exit failed.

kvm tool is not able to remove ioport range which was added previously.

The issue is ca

kvm tools: fix rbtree-interval search

I've noticed message on kvm exit:

Warning: serial8250__exit failed.

kvm tool is not able to remove ioport range which was added previously.

The issue is caused by bug in rbtree-interval. Search algorithm in
rb_int_search_single() expects correct value of max_high. But the tree
can contain leaf nodes, which never were updated by propagate_callback().
For this kind of nodes high_max will be 0 and we will not be able to
find and remove them.

Let's initialize max_high on RB_INT_INIT() time.

Fixing this bug makes other bug visible: propagate_callback() can be
called for empty tree: node == NULL. The callback is not ready for empty
tree. Let's fix that as well.

Tested-by: William Dauchy <william@gandi.net>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>

show more ...


# 86824900 19-Oct-2012 Ingo Molnar <mingo@elte.hu>

kvm tools: Port to v3.7-rc1

There were a number of changes that caused problems:

- UAPI conversion

- the old version of the rbtree-augmented API got removed, I
updated the implementation to t

kvm tools: Port to v3.7-rc1

There were a number of changes that caused problems:

- UAPI conversion

- the old version of the rbtree-augmented API got removed, I
updated the implementation to the new API

- lib/rbtree.c wants a 'true' definition

Lightly tested: it boots a v3.7-rc1 defconfig+kvmconfig kernel.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Pekka Enberg <penberg@kernel.org>

show more ...


# 495fbd4e 19-Dec-2011 Sasha Levin <levinsasha928@gmail.com>

kvm tools: Fixes for virtio module

Fixes include:
- Error handling
- Cleanup
- Standard init/uninit

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>


# 7af40b91 18-Dec-2011 Sasha Levin <levinsasha928@gmail.com>

kvm tools: Fixes for ioport module

Fixes include:
- Error handling
- Cleanup
- Standard init/uninit

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>


# 9f112bec 21-May-2011 Sasha Levin <levinsasha928@gmail.com>

kvm tools: Fix rbtree-interval balancing

Augmentation is started on the pre-rotation node found in the search,
augment the rotated node instead.

Max high is the max of max highs below it, not the m

kvm tools: Fix rbtree-interval balancing

Augmentation is started on the pre-rotation node found in the search,
augment the rotated node instead.

Max high is the max of max highs below it, not the max of highs below it.

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>

show more ...


# e358b4fb 17-May-2011 Sasha Levin <levinsasha928@gmail.com>

kvm tools: Add interval red-black tree helper

Interval rb-tree allows to directly store interval ranges
and quickly lookup an overlap with a single point or a range.

The helper is based on the kern

kvm tools: Add interval red-black tree helper

Interval rb-tree allows to directly store interval ranges
and quickly lookup an overlap with a single point or a range.

The helper is based on the kernel rb-tree implementation
(located in <linux/rbtree.h>) which alows for the augmention
of the classical rb-tree to be used as an interval tree.

Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>

show more ...