[libvirt] [PATCH V11 2/7] Support for atomic operations on integers

Eric Blake eblake at redhat.com
Thu Apr 19 18:08:26 UTC 2012


On 04/17/2012 08:44 AM, Stefan Berger wrote:
> For threading support, add atomic add and sub operations working on
> integers. Base this on locking support provided by virMutex.
> 
> ---
>  src/util/viratomic.h |   91 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 91 insertions(+)
> 
> Index: libvirt-acl/src/util/viratomic.h

> +typedef struct _virAtomicInt virAtomicInt;
> +typedef virAtomicInt *virAtomicIntPtr;
> +
> +struct _virAtomicInt {
> +    virMutex lock;
> +    int value;
> +};

virMutex is very heavyweight.  I'd love it if we could use gcc
primitives and/or MSVC libc primitives (where they are known to be
available), for a lighter-weight implementation on platforms that
support it.  See this patch proposal (now a year old!) for some ideas
that we should fold in before 0.9.12:

https://www.redhat.com/archives/libvir-list/2011-April/msg00368.html

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120419/92b00641/attachment-0001.sig>


More information about the libvir-list mailing list