[libvirt] [PATCH 00/10] vz: improve locking in getting domain statistics
Nikolay Shirokovskiy
nshirokovskiy at virtuozzo.com
Fri Jun 3 07:19:04 UTC 2016
This patch series is superseded by https://www.redhat.com/archives/libvir-list/2016-June/msg00065.html
which is more simple.
On 02.06.2016 14:24, Nikolay Shirokovskiy wrote:
> Current stats cache uses same lock as domain cache, namely lock
> of virDomainObjPtr. First this is not necessary, domain cache is
> used to translate id of object of interest from libvirt to vzsdk
> one. Besides this domain object is not used. Second this is risky
> game as lock is dropped on waiting for stat events from sdk deep
> down on stack so callers throughout the stack should be written
> very carefully.
>
> This patch series makes stats cache self locking and thus making
> code much more solid. This is done thru introducing extra lock for
> stats cache. Statistics API functions first use domain cache then
> drop domain lock, query stats cache and unreference domain object.
>
> Patches 1-4 conform API functions to this structure. Patches 5-7
> makes subsidiary improvments. Patch 8 finally introduce new lock.
> Last patches are cleanup[9] and bugfix[10].
>
> Nikolay Shirokovskiy (10):
> vz: pass string instead of disk definition to block stat function
> vz: prepare disks names before getting all disks stats
> vz: move getting stats in vzDomainGetVcpus to the end
> vz: move getting stats in vzDomainGetInfo to the end
> vz: use consistent naming for different domain object in vz_driver.c
> vz: simplify refcount on sdkdom in prlsdkLoadDomain
> vz: hold stats cache in a pointer in vzDomObj
> vz: introduce stats cache lock
> vz: extract on stats cache update into a function
> vz: fix many stat request issue
>
> src/vz/vz_driver.c | 397 +++++++++++++++++++++++++++++++++++------------------
> src/vz/vz_sdk.c | 230 +++++++++++++++++++++----------
> src/vz/vz_sdk.h | 15 +-
> src/vz/vz_utils.c | 9 --
> src/vz/vz_utils.h | 6 +-
> 5 files changed, 438 insertions(+), 219 deletions(-)
>
More information about the libvir-list
mailing list