qemu/util
Paolo Bonzini 7911747bd4 rcu: add rcu library
This includes a (mangled) copy of the liburcu code.  The main changes
are: 1) removing dependencies on many other header files in liburcu; 2)
removing for simplicity the tentative busy waiting in synchronize_rcu,
which has limited performance effects; 3) replacing futexes in
synchronize_rcu with QemuEvents for Win32 portability.  The API is
the same as liburcu, so it should be possible in the future to require
liburcu on POSIX systems for example and use our copy only on Windows.

Among the various versions available I chose urcu-mb, which is the
least invasive implementation even though it does not have the
fastest rcu_read_{lock,unlock} implementation.  The urcu flavor can
be changed later, after benchmarking.

Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-02-02 16:55:10 +01:00
..
acl.c acl: fix memory leak 2014-11-17 11:48:56 +01:00
aes.c util: Add InvMixColumns 2014-06-16 13:24:33 +02:00
bitmap.c bitmap: use long as index 2014-01-13 14:04:53 +01:00
bitops.c bitops: unroll while loop in find_next_bit() 2013-03-26 13:32:32 +01:00
compatfd.c Add a 'name' parameter to qemu_thread_create 2014-03-09 21:09:38 +02:00
crc32c.c qemu: add castagnoli crc32c checksum algorithm 2013-05-03 10:31:58 +02:00
cutils.c cutils: tighten qemu_parse_fd() 2014-05-08 14:19:58 -04:00
envlist.c util: Fix compilation of envlist.c for MinGW 2013-02-02 20:13:19 +00:00
error.c error: error_is_set() is finally unused; remove 2014-05-21 11:57:58 +02:00
event_notifier-posix.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
event_notifier-win32.c build: move libqemuutil.a components to util/ 2013-01-12 18:42:50 +01:00
fifo8.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
getauxval.c util: Move general qemu_getauxval to util/getauxval.c 2014-09-09 13:13:05 +02:00
hbitmap.c util: Use g_new() & friends where that makes obvious sense 2014-12-10 11:34:15 +03:00
hexdump.c Rename hexdump to avoid FreeBSD libutil conflict 2013-05-20 08:20:08 -05:00
host-utils.c util: Don't link host-utils.o if it's empty 2014-09-09 13:13:05 +02:00
id.c util: Emancipate id_wellformed() from QemuOpts 2014-10-03 10:30:33 +01:00
iov.c util: Use g_new() & friends where that makes obvious sense 2014-12-10 11:34:15 +03:00
Makefile.objs rcu: add rcu library 2015-02-02 16:55:10 +01:00
module.c module: Don't complain when a module is absent 2014-07-18 14:57:35 +02:00
notify.c notify: add NotiferWithReturn so notifier list can abort 2013-06-28 09:20:26 +02:00
osdep.c do not call g_thread_init() for glib >= 2.31 2014-05-07 21:00:43 +04:00
oslib-posix.c memory: expose alignment used for allocating RAM as MemoryRegion API 2014-11-23 12:11:30 +02:00
oslib-win32.c memory: expose alignment used for allocating RAM as MemoryRegion API 2014-11-23 12:11:30 +02:00
path.c util/path: Use the GLib memory allocation routines 2014-08-24 13:16:32 +04:00
qemu-config.c qapi: output def_value_str when query command line options 2014-06-16 17:23:20 +08:00
qemu-error.c qemu-error: Add error_vreport() 2014-10-09 15:36:15 +02:00
qemu-openpty.c util/qemu-openpty: fix build with musl libc by include termios.h as fallback 2014-06-11 00:25:06 +01:00
qemu-option.c block: Don't add trailing space in "Formating..." message 2014-12-12 16:52:33 +00:00
qemu-progress.c qemu-progress: Fix progress printing on SIGUSR1 2014-01-24 14:33:00 +01:00
qemu-sockets.c qemu-sockets: Add error to non-blocking connect handler 2014-10-09 15:36:15 +02:00
qemu-thread-posix.c qemu-thread: fix qemu_event without futexes 2015-02-02 16:55:09 +01:00
qemu-thread-win32.c qemu-thread: add per-thread atexit functions 2015-01-13 13:43:29 +00:00
qemu-timer-common.c Allow clock_gettime() monotonic clock to be utilized on more OS's 2013-04-04 20:22:45 -05:00
rcu.c rcu: add rcu library 2015-02-02 16:55:10 +01:00
readline.c readline: Clear screen on form feed. 2014-06-11 10:10:29 -04:00
rfifolock.c rfifolock: add recursive FIFO lock 2014-03-13 14:42:21 +01:00
throttle.c throttle: add throttle_detach/attach_aio_context() 2014-06-04 09:56:12 +02:00
unicode.c unicode: New mod_utf8_codepoint() 2013-04-13 19:39:59 +00:00
uri.c util: Fuse g_malloc(); memset() into g_new0() 2014-12-10 11:33:38 +03:00