qemu-e2k/util
Stefan Hajnoczi 9f02cfc84b bitmap: add atomic set functions
Use atomic_or() for atomic bitmaps where several threads may set bits at
the same time.  This avoids the race condition between threads loading
an element, bitwise ORing, and then storing the element.

When setting all bits in a word we can avoid atomic ops and instead just
use an smp_mb() at the end.

Most bitmap users don't need atomicity so introduce new functions.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <1417519399-3166-2-git-send-email-stefanha@redhat.com>
[Avoid barrier in the single word case, use full barrier instead of write.
 - Paolo]
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-06-05 17:10:00 +02:00
..
acl.c
aes.c aes: remove a dead return statement 2015-02-10 09:27:20 +03:00
bitmap.c bitmap: add atomic set functions 2015-06-05 17:10:00 +02:00
bitops.c
compatfd.c util: Remove unused functions 2015-04-30 16:05:48 +03:00
crc32c.c
cutils.c cutils: refine strtol error handling in parse_debug_env 2015-03-10 08:15:33 +03:00
envlist.c utils: drop strtok_r from envlist_parse 2015-02-16 16:20:02 -06:00
error.c error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
event_notifier-posix.c
event_notifier-win32.c
fifo8.c
getauxval.c
hbitmap.c block: Resize bitmaps on bdrv_truncate 2015-04-28 15:36:10 +02:00
hexdump.c
host-utils.c
id.c
iov.c
Makefile.objs rcu: add rcu library 2015-02-02 16:55:10 +01:00
module.c
notify.c
osdep.c util: Remove unused functions 2015-04-30 16:05:48 +03:00
oslib-posix.c util: allow \n to terminate password input 2015-05-22 17:08:01 +02:00
oslib-win32.c util: move read_password method out of qemu-img into osdep/oslib 2015-05-22 17:08:01 +02:00
path.c
qemu-config.c qemu-config: remove stray inclusions of hw/ files 2015-04-30 16:05:48 +03:00
qemu-error.c
qemu-openpty.c
qemu-option.c qemu-img: Suppress unhelpful extra errors in convert, amend 2015-02-26 14:51:21 +01:00
qemu-progress.c
qemu-sockets.c util: socket: Add missing localaddr and localport option for DGRAM socket 2015-06-03 14:21:23 +03:00
qemu-thread-posix.c qemu-thread: do not use PTHREAD_MUTEX_ERRORCHECK 2015-03-10 10:49:25 +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
rcu.c rcu: do not create thread in pthread_atfork callback 2015-04-01 10:06:38 +02:00
readline.c
rfifolock.c
throttle.c
unicode.c
uri.c util/uri: Add overflow check to rfc3986_parse_port 2015-03-18 12:05:31 +01:00