You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/include/qemu
Peter Xu cedb70eafb migration: Use non-atomic ops for clear log bitmap
Since we already have bitmap_mutex to protect either the dirty bitmap or
the clear log bitmap, we don't need atomic operations to set/clear/test on
the clear log bitmap.  Switching all ops from atomic to non-atomic
versions, meanwhile touch up the comments to show which lock is in charge.

Introduced non-atomic version of bitmap_test_and_clear_atomic(), mostly the
same as the atomic version but simplified a few places, e.g. dropped the
"old_bits" variable, and also the explicit memory barriers.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
2 years ago
..
accel.h gdbstub: move sstep flags probing into AccelClass 2 years ago
async-teardown.h os-posix: asynchronous teardown for shutdown on Linux 2 years ago
atomic.h include/qemu/atomic: Use qemu_build_assert 2 years ago
atomic128.h docs: fix references to docs/devel/atomics.rst 4 years ago
base64.h nomaintainer: Fix Lesser GPL version number 4 years ago
bcd.h
bitmap.h migration: Use non-atomic ops for clear log bitmap 2 years ago
bitops.h bitops.h: revert db1ffc32dd ("qemu/bitops.h: add bitrev8 implementation") 3 years ago
bswap.h Move CPU softfloat unions to cpu-float.h 3 years ago
buffer.h Replace GCC_FMT_ATTR with G_GNUC_PRINTF 3 years ago
cacheflush.h util: Enhance flush_icache_range with separate data pointer 4 years ago
cacheinfo.h include: Move qemu_[id]cache_* declarations to new qemu/cacheinfo.h 3 years ago
co-shared-resource.h co-shared-resource: protect with a mutex 3 years ago
compiler.h compiler.h: add QEMU_SANITIZE_{ADDRESS,THREAD} 3 years ago
config-file.h remove -writeconfig 3 years ago
coroutine-tls.h tls: add macros for coroutine-safe TLS variables 3 years ago
coroutine.h Block layer patches 2 years ago
coroutine_int.h coroutine: support SafeStack in ucontext backend 4 years ago
cpu-float.h Clean up ill-advised or unusual header guards 3 years ago
cpuid.h tcg/i386: Detect AVX512 3 years ago
crc-ccitt.h Clean up ill-advised or unusual header guards 3 years ago
crc32c.h Include qemu-common.h exactly where needed 6 years ago
ctype.h qemu-common: Move qemu_isalnum() etc. to qemu/ctype.h 6 years ago
cutils.h cutils: Introduce bundle mechanism 2 years ago
datadir.h vl: extract softmmu/datadir.c 4 years ago
dbus.h ui/dbus: add chardev backend & interface 3 years ago
drm.h Clean up ill-advised or unusual header guards 6 years ago
envlist.h
error-report.h Move error_printf_unless_qmp() with monitor unit 3 years ago
event_notifier.h event_notifier: add event_notifier_get_wfd() 3 years ago
fifo8.h utils/fifo8: add VMSTATE_FIFO8_TEST macro 4 years ago
fifo32.h
filemonitor.h nomaintainer: Fix Lesser GPL version number 4 years ago
futex.h futex: add missing header guards 7 years ago
guest-random.h util: Add qemu_guest_getrandom and associated routines 6 years ago
hbitmap.h block: simplify handling of try to merge different sized bitmaps 2 years ago
help-texts.h Clean up header guards that don't match their file name 3 years ago
help_option.h keyval: Parse help options 4 years ago
host-utils.h include/qemu/host-utils.h: Simplify the compiler check in mulu128() 2 years ago
hw-version.h include: Move hardware version declarations to new qemu/hw-version.h 3 years ago
id.h net: Use id_generate() in the network subsystem, too 4 years ago
int128.h host-utils: Implemented unsigned 256-by-128 division 2 years ago
iov.h util/iov: make qemu_iovec_init_extended() honest 4 years ago
iova-tree.h util: accept iova_tree_remove_parameter by value 2 years ago
jhash.h Clean up ill-advised or unusual header guards 6 years ago
job.h job: remove unused functions 2 years ago
keyval.h Clean up ill-advised or unusual header guards 3 years ago
lockable.h include/qemu/lockable: Use _Generic instead of QEMU_GENERIC 3 years ago
log-for-trace.h util/log: Drop return value from qemu_log 3 years ago
log.h util/log: Support per-thread log files 3 years ago
madvise.h include: Move qemu_madvise() and related #defines to new qemu/madvise.h 3 years ago
main-loop.h util/main-loop: Avoid adding the same HANDLE twice 2 years ago
memalign.h osdep: Move memalign-related functions to their own header 3 years ago
memfd.h linux-user: add memfd_create 5 years ago
mmap-alloc.h util/mmap-alloc: Remove qemu_mempath_getpagesize() 2 years ago
module.h module: add Error arguments to module_load and module_load_qom 2 years ago
mprotect.h include: Move qemu_mprotect_*() to new qemu/mprotect.h 3 years ago
notify.h xen / notify: introduce a new XenWatchList abstraction 5 years ago
nvdimm-utils.h Clean up includes 4 years ago
option.h include: add qemu/keyval.h 3 years ago
option_int.h qemu/queue.h: simplify reverse access to QTAILQ 6 years ago
osdep.h Hi, 2 years ago
path.h
plugin-memory.h Clean up decorations and whitespace around header guards 3 years ago
plugin.h plugins: add [pre|post]fork helpers to linux-user 2 years ago
pmem.h Clean up decorations and whitespace around header guards 6 years ago
processor.h Drop remaining bits of ia64 host support 7 years ago
progress_meter.h progressmeter: protect with a mutex 3 years ago
qdist.h Include qemu-common.h exactly where needed 6 years ago
qemu-options.h remove qemu-options* from root directory 4 years ago
qemu-plugin.h Clean up header guards that don't match their file name 3 years ago
qemu-print.h Replace GCC_FMT_ATTR with G_GNUC_PRINTF 3 years ago
qemu-progress.h include: move progress API to qemu-progress.h 3 years ago
qht.h qht: constify qht_statistics_init 6 years ago
qsp.h qsp: Simplify how qsp_report() prints 6 years ago
queue.h qemu/atomic.h: rename atomic_ to qatomic_ 4 years ago
range.h compiler.h: replace QEMU_WARN_UNUSED_RESULT with G_GNUC_WARN_UNUSED_RESULT 3 years ago
ratelimit.h ratelimit: treat zero speed as unlimited 3 years ago
rcu.h rcu: use coroutine TLS macros 3 years ago
rcu_queue.h qemu/atomic.h: rename atomic_ to qatomic_ 4 years ago
readline.h Replace GCC_FMT_ATTR with G_GNUC_PRINTF 3 years ago
selfmap.h Clean up decorations and whitespace around header guards 3 years ago
seqlock.h qemu/atomic.h: rename atomic_ to qatomic_ 4 years ago
sockets.h * Fix and test the VISTR instruction on s390x 2 years ago
stats64.h qemu/atomic: Add aligned_{int64,uint64}_t types 3 years ago
sys_membarrier.h Normalize header guard symbol definition. 6 years ago
systemd.h Normalize header guard symbol definition. 6 years ago
thread-context.h util: Introduce ThreadContext user-creatable object 2 years ago
thread-posix.h thread-posix: implement Semaphore with QemuCond and QemuMutex 3 years ago
thread-win32.h util: Use real functions for thread-posix QemuRecMutex 3 years ago
thread.h Hi, 2 years ago
throttle-options.h block: add throttle block filter driver 7 years ago
throttle.h Include qemu-common.h exactly where needed 6 years ago
timed-average.h
timer.h Use g_new() & friends where that makes obvious sense 3 years ago
transactions.h transactions: Invoke clean() after everything else 3 years ago
tsan.h include/qemu: Added tsan.h for annotations. 5 years ago
typedefs.h display: include dependencies explicitly 2 years ago
unicode.h json: Reject invalid UTF-8 sequences 6 years ago
units.h block: Eliminate the S_1KiB, S_2KiB, ... macros 6 years ago
uri.h
userfaultfd.h migration: introduce UFFD-WP low-level interface helpers 4 years ago
uuid.h acpi: nvdimm: change NVDIMM_UUID_LE to a common macro 5 years ago
vfio-helpers.h util/vfio-helpers: Pass Error handle to qemu_vfio_dma_map() 3 years ago
vhost-user-server.h block/export: Fix vhost-user-blk shutdown with requests in flight 3 years ago
win_dump_defs.h include/qemu: add 32-bit Windows dump structures 3 years ago
xattr.h 9p: linux: Fix a couple Linux assumptions 3 years ago
xxhash.h target/arm: Implement an IMPDEF pauth algorithm 4 years ago
yank.h yank: Remove dependency on qiochannel 4 years ago