51dee5e465
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 <pbonzini@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20170112180800.21085-3-pbonzini@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
40 lines
1.4 KiB
Makefile
40 lines
1.4 KiB
Makefile
util-obj-y = osdep.o cutils.o unicode.o qemu-timer-common.o
|
|
util-obj-y += bufferiszero.o
|
|
util-obj-y += lockcnt.o
|
|
util-obj-$(CONFIG_POSIX) += compatfd.o
|
|
util-obj-$(CONFIG_POSIX) += event_notifier-posix.o
|
|
util-obj-$(CONFIG_POSIX) += mmap-alloc.o
|
|
util-obj-$(CONFIG_POSIX) += oslib-posix.o
|
|
util-obj-$(CONFIG_POSIX) += qemu-openpty.o
|
|
util-obj-$(CONFIG_POSIX) += qemu-thread-posix.o
|
|
util-obj-$(CONFIG_WIN32) += event_notifier-win32.o
|
|
util-obj-$(CONFIG_POSIX) += memfd.o
|
|
util-obj-$(CONFIG_WIN32) += oslib-win32.o
|
|
util-obj-$(CONFIG_WIN32) += qemu-thread-win32.o
|
|
util-obj-y += envlist.o path.o module.o
|
|
util-obj-$(call lnot,$(CONFIG_INT128)) += host-utils.o
|
|
util-obj-y += bitmap.o bitops.o hbitmap.o
|
|
util-obj-y += fifo8.o
|
|
util-obj-y += acl.o
|
|
util-obj-y += error.o qemu-error.o
|
|
util-obj-y += id.o
|
|
util-obj-y += iov.o qemu-config.o qemu-sockets.o uri.o notify.o
|
|
util-obj-y += qemu-option.o qemu-progress.o
|
|
util-obj-y += hexdump.o
|
|
util-obj-y += crc32c.o
|
|
util-obj-y += uuid.o
|
|
util-obj-y += throttle.o
|
|
util-obj-y += getauxval.o
|
|
util-obj-y += readline.o
|
|
util-obj-y += rcu.o
|
|
util-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
|
|
util-obj-y += qemu-coroutine-sleep.o
|
|
util-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
|
|
util-obj-y += buffer.o
|
|
util-obj-y += timed-average.o
|
|
util-obj-y += base64.o
|
|
util-obj-y += log.o
|
|
util-obj-y += qdist.o
|
|
util-obj-y += qht.o
|
|
util-obj-y += range.o
|