qemu-e2k/include
Stefan Hajnoczi 2da61b671e rfifolock: add recursive FIFO lock
QemuMutex does not guarantee fairness and cannot be acquired
recursively:

Fairness means each locker gets a turn and the scheduler cannot cause
starvation.

Recursive locking is useful for composition, it allows a sequence of
locking operations to be invoked atomically by acquiring the lock around
them.

This patch adds RFifoLock, a recursive lock that guarantees FIFO order.
Its first user is added in the next patch.

RFifoLock has one additional feature: it can be initialized with an
optional contention callback.  The callback is invoked whenever a thread
must wait for the lock.  For example, it can be used to poke the current
owner so that they release the lock soon.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-03-13 14:42:21 +01:00
..
block block: Rewrite the snapshot authorization mechanism for block filters. 2014-03-13 14:23:27 +01:00
disas disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
exec target-arm queue: 2014-03-11 13:20:23 +00:00
fpu softfloat: Support halving the result of muladd operation 2014-02-20 10:35:50 +00:00
hw q35: Correct typo BRDIGE -> BRIDGE 2014-03-11 13:27:27 +02:00
migration Fix two XBZRLE corruption issues 2014-02-25 14:30:28 +01:00
monitor quorum: Add quorum mechanism. 2014-02-21 22:29:50 +01:00
net net: remove implicit peer from offload API 2014-02-25 14:31:05 +01:00
qapi qapi script: do not add "_" for every capitalized char in enum 2014-03-11 09:07:42 -04:00
qemu rfifolock: add recursive FIFO lock 2014-03-13 14:42:21 +01:00
qom object: add object_get_canonical_path_component() 2014-03-13 14:23:27 +01:00
sysemu kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
ui console: add QemuUIInfo 2014-03-05 09:52:04 +01:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h tcg-s390: Use qemu_getauxval in query_facilities 2013-11-30 07:45:30 +13:00
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
qemu-common.h Block patches 2014-02-25 10:50:11 +00:00
qemu-io.h qemu-io: add command completion 2014-01-22 12:07:17 +01:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00