qemu-e2k/include/qemu
Stefan Hajnoczi 978f2205c7 qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe
Introduce QEMUTimerList->active_timers_lock to protect the linked list
of active timers.  This allows qemu_timer_mod_ns() to be called from any
thread.

Note that vm_clock is not thread-safe and its use of
qemu_clock_has_timers() works fine today but is also not thread-safe.

The purpose of this patch is to eventually let device models set or
cancel timers from a vcpu thread without holding the global mutex.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-09-18 15:48:33 +02:00
..
acl.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
aes.h aes: make Td[0-5] and Te[0-5] tables non static 2013-04-13 13:51:57 +02:00
atomic.h add a header file for atomic operations 2013-07-04 17:42:49 +02:00
bitmap.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
bitops.h bitops: Provide sextract32() and sextract64() 2013-07-22 15:41:11 -05:00
bswap.h bswap: fix compiler warning 2013-04-19 11:28:22 +02:00
cache-utils.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
compatfd.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
compiler.h audio: Replace static functions in header file by macros, remove GCC_ATTR 2013-06-21 22:52:50 +04:00
config-file.h remove some double-includes 2013-05-18 16:35:12 +04:00
crc32c.h qemu: add castagnoli crc32c checksum algorithm 2013-05-03 10:31:58 +02:00
envlist.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
error-report.h add timestamp to error_report() 2013-07-10 13:42:09 -04:00
event_notifier.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
fifo8.h hw: move fifo.[ch] to libqemuutil 2013-03-01 13:53:10 +01:00
hbitmap.h hbitmap: Use non-bitops ctzl 2013-02-16 11:11:34 +00:00
host-utils.h host-utils: Use __int128_t for mul[us]64 2013-02-17 14:28:57 +00:00
int128.h int128: optimize and add test cases 2013-07-02 08:17:01 +02:00
iov.h iov: add iov_discard_front/back() to remove data 2013-01-02 15:58:05 +01:00
log.h log: Change log_cpu_state[_mask]() argument to CPUState 2013-07-09 21:33:04 +02:00
main-loop.h main-loop: add qemu_get_aio_context() 2013-03-15 16:07:50 +01:00
module.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
notify.h notify: add NotiferWithReturn so notifier list can abort 2013-06-28 09:20:26 +02:00
option.h option: Add assigned flag to QEMUOptionParameter 2013-08-30 15:28:52 +02:00
option_int.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
osdep.h osdep: add qemu_get_local_state_pathname() 2013-05-30 11:37:37 -05:00
queue.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
range.h range: add Range structure 2013-07-04 10:40:56 +03:00
ratelimit.h aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
sockets.h oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() 2013-04-02 11:47:37 -04:00
thread-posix.h semaphore: fix a hangup problem under load on NetBSD hosts. 2013-08-05 11:48:00 -05:00
thread-win32.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
thread.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
throttle.h throttle: Add a new throttling API implementing continuous leaky bucket. 2013-09-06 15:25:07 +02:00
timer.h qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe 2013-09-18 15:48:33 +02:00
tls.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
typedefs.h aio / timers: Add QEMUTimerListGroup and helper functions 2013-08-22 19:10:27 +02:00
uri.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
xattr.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00