On 11/29/2016 05:46 AM, Paolo Bonzini wrote: > A QemuLockCnt comprises a counter and a mutex, with primitives > to increment and decrement the counter, and to take and release the > mutex. It can be used to do lock-free visits to a data structure > whenever mutexes would be too heavy-weight and the critical section > is too long for RCU. > > This could be implemented simply by protecting the counter with the > mutex, but QemuLockCnt is harder to misuse and more efficient. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > ---
> + int qemu_lockcnt_count(QemuLockCnt *lockcnt); > + > + Return the lockcnt's count. The count can change at any time > + any time; still, while the lockcnt is locked, one can usefully duplicate 'any time' > +++ b/util/lockcnt.c > @@ -0,0 +1,113 @@ > +/* > + * QemuLockCnt implementation > + * > + * Copyright Red Hat, Inc. 2015 You've been sitting on this a while :) Want to add 2016? The documentation is a huge help to understanding the code; overall it looks pretty clean. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature