qemu-e2k/replay
Pavel Dovgalyuk ddf63df736 replay: implement fair mutex
In record/replay icount mode main loop thread and vCPU thread
do not perform simultaneously. They take replay mutex to synchronize
the actions. Sometimes vCPU thread waits for locking the mutex for
very long time, because main loop releases the mutex and takes it
back again. Standard qemu mutex do not provide the ordering
capabilities.

This patch adds a "queue" for replay mutex. Therefore thread ordering
becomes more "fair". Threads are executed in the same order as
they are trying to take the mutex.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Message-Id: <158823802979.28101.9340462887738957616.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-06-10 12:10:47 -04:00
..
Makefile.objs replay: record and replay random number sources 2020-01-07 12:08:39 +01:00
replay-audio.c audio: use size_t where makes sense 2019-08-21 09:13:37 +02:00
replay-char.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
replay-events.c replay: add BH oneshot event for block layer 2019-10-14 17:12:48 +02:00
replay-input.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
replay-internal.c replay: implement fair mutex 2020-06-10 12:10:47 -04:00
replay-internal.h replay: record and replay random number sources 2020-01-07 12:08:39 +01:00
replay-net.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
replay-random.c replay: record and replay random number sources 2020-01-07 12:08:39 +01:00
replay-snapshot.c replay: rename step-related variables and functions 2019-08-20 17:26:22 +02:00
replay-time.c replay: rename step-related variables and functions 2019-08-20 17:26:22 +02:00
replay.c replay: record and replay random number sources 2020-01-07 12:08:39 +01:00