History | View | Annotate | Download (6.4 kB)
configure: Split valgrind test into pragma test and valgrind.h test
Split the configure test that checks for valgrind into two, onepart checking whether we have the gcc pragma to disable unused-but-setvariables, and the other part checking for the existence of valgrind.h....
coroutine-ucontext: Help valgrind understand coroutines
valgrind tends to get confused and report false positives when youswitch stacks and don't tell it about it.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
coroutine: switch to QSLIST
QSLIST can be used for a free list, do it.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
coroutine: switch per-thread free pool to a global pool
ucontext-based coroutines use a free pool to reduce allocations anddeallocations of coroutine objects. The pool is per-thread, presumablyto improve locality. However, as coroutines are usually allocated in...
Use glib memory allocation and free functions
qemu_malloc/qemu_free no longer exist after this commit.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Unbreak the build on ppc32
Signed-off-by: malc <av1474@comtv.ru>
coroutine: introduce coroutines
Asynchronous code is becoming very complex. At the same timesynchronous code is growing because it is convenient to write.Sometimes duplicate code paths are even added, one synchronous and theother asynchronous. This patch introduces coroutines which allow code...