Re: [Xen-devel] [RFC 2/6] rangeset_destroy() refactoring

2017-02-16 Thread Paul Durrant
> -Original Message- > From: Andrii Anisov [mailto:andrii.ani...@gmail.com] > Sent: 16 February 2017 16:22 > To: Paul Durrant > Cc: xen-de...@lists.xenproject.org; andrii_ani...@epam.com; Andrew > Cooper ; George Dunlap > ; Ian Jackson ; > jbeul...@suse.com; konrad.w...@oracle.com; sstabel

Re: [Xen-devel] [RFC 2/6] rangeset_destroy() refactoring

2017-02-16 Thread Andrii Anisov
> What use are rangesets if the implementation doesn't control the list/tree? > How on earth would you implement an allocation function otherwise? Just to be on the same page, my understanding of the rangesets is as following: - Currently the `struct rangeset` is a list of `ranges`. This list he

Re: [Xen-devel] [RFC 2/6] rangeset_destroy() refactoring

2017-02-16 Thread Paul Durrant
> -Original Message- > From: Andrii Anisov [mailto:andrii.ani...@gmail.com] > Sent: 16 February 2017 14:26 > To: Paul Durrant > Cc: xen-de...@lists.xenproject.org; andrii_ani...@epam.com; Andrew > Cooper ; George Dunlap > ; Ian Jackson ; > jbeul...@suse.com; konrad.w...@oracle.com; sstabel

Re: [Xen-devel] [RFC 2/6] rangeset_destroy() refactoring

2017-02-16 Thread Andrii Anisov
Dear Paul, >> It is still left a rangesets list functionality: rangeset_destroy() >> will remove itself from a list. If a spinlock is provided it will be >> held for list deletion operation. This would be reconsidered further. >> > > Maybe use the same scheme in patch #1 then and pass the lock, as

Re: [Xen-devel] [RFC 2/6] rangeset_destroy() refactoring

2017-02-16 Thread Paul Durrant
> -Original Message- > From: Andrii Anisov [mailto:andrii.ani...@gmail.com] > Sent: 16 February 2017 12:03 > To: xen-de...@lists.xenproject.org > Cc: andrii_ani...@epam.com; Andrew Cooper > ; George Dunlap > ; Ian Jackson ; > jbeul...@suse.com; konrad.w...@oracle.com; Paul Durrant > ; sstab

[Xen-devel] [RFC 2/6] rangeset_destroy() refactoring

2017-02-16 Thread Andrii Anisov
From: Andrii Anisov rangeset_destroy is made domain agnostic. The domain specific code is moved to common/domain.c:domain_rangeset_destroy(). It is still left a rangesets list functionality: rangeset_destroy() will remove itself from a list. If a spinlock is provided it will be held for list del