
On 04/19/2012 12:19 PM, Stefan Berger wrote:
On 04/19/2012 02:08 PM, Eric Blake wrote:
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.
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
Well, I wasn't aware of this previous proposal and had actually looked in pthread for some form of atomic support. I already pushed this patch now. We can add some compiler- and architecture-specific #ifdef's around the few existing functions. So the existing implementation probably has a place but can be improved upon.
No problem with the current implementation (don't go reverting anything just because I came late to the review party!); I'm okay with future patches for the improvements, especially since they will merely be optimizations. But I'm hoping we can get those optimizations in the tree before 0.9.12, rather than later, now that it is fresh on our minds. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org