Re: [Xen-devel] [PATCH v8 3/3] Refactor rangeset structure for better performance.

2015-08-31 Thread Jan Beulich
>>> On 23.08.15 at 11:33, wrote: > static void insert_range( > struct rangeset *r, struct range *x, struct range *y) > { > -list_add(&y->list, (x != NULL) ? &x->list : &r->range_list); > +struct rb_node **node; > +struct rb_node *parent = NULL; > + > +if ( x == NULL ) > +

[Xen-devel] [PATCH v8 3/3] Refactor rangeset structure for better performance.

2015-08-23 Thread Yu Zhang
This patch refactors struct rangeset to base it on the red-black tree structure, instead of on the current doubly linked list. By now, ioreq leverages rangeset to keep track of the IO/memory resources to be emulated. Yet when number of ranges inside one ioreq server is very high, traversing a doubl