Paolo Bonzini 7c9b2bf677 qemu-thread: add a fast path to the Win32 QemuEvent
QemuEvents are used heavily by call_rcu.  We do not want them to be slow,
but the current implementation does a kernel call on every invocation
of qemu_event_* and won't cut it.

So, wrap a Win32 manual-reset event with a fast userspace path.  The
states and transitions are the same as for the futex and mutex/condvar
implementations, but the slow path is different of course.  The idea
is to reset the Win32 event lazily, as part of a test-reset-test-wait
sequence.  Such a sequence is, indeed, how QemuEvents are used by
RCU and other subsystems!

The patch includes a formal model of the algorithm.

Tested-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-09-24 20:52:28 +02:00
2015-09-14 18:51:09 +01:00
2015-09-14 16:13:16 +01:00
2015-09-11 10:45:43 +03:00
2015-09-24 17:04:31 +01:00
2015-09-11 10:45:43 +03:00
2015-09-11 10:21:38 +03:00
2015-09-21 09:56:49 +02:00
2015-09-11 10:45:43 +03:00
2015-09-21 09:56:49 +02:00
2015-09-14 16:13:16 +01:00
2015-09-19 11:53:15 +02:00
2015-07-27 22:44:47 +03:00
2015-08-14 23:40:32 +02:00
2015-09-14 16:13:16 +01:00
2015-09-22 11:32:37 +02:00
2015-09-04 13:26:26 +02:00
2015-09-04 13:26:26 +02:00
2015-09-07 18:14:03 +02:00
2015-09-07 18:14:03 +02:00
2015-09-01 13:16:26 -05:00
2015-09-14 16:51:36 +02:00
2015-07-24 13:57:45 +02:00
2015-09-16 17:33:33 +02:00
2015-09-23 13:04:49 -06:00
2015-08-19 16:29:53 +01:00
2015-08-11 23:15:55 +01:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team
Description
No description provided
Readme 404 MiB
Languages
C 82.6%
C++ 6.5%
Python 3.4%
Dylan 2.9%
Shell 1.6%
Other 2.8%