qemu-patch-raspberry4/include
Paolo Bonzini 32c835ba39 migration: run pending/iterate callbacks out of big lock
This makes it possible to do blocking writes directly to the socket,
with no buffer in the middle.  For RAM, only the migration_bitmap_sync()
call needs the iothread lock.  For block migration, it is needed by
the block layer (including bdrv_drain_all and dirty bitmap access),
but because some code is shared between iterate and complete, all of
mig_save_device_dirty is run with the lock taken.

In the savevm case, the iterate callback runs within the big lock.
This is annoying because it complicates the rules.  Luckily we do not
need to do anything about it: the RAM iterate callback does not need
the iothread lock, and block migration never runs during savevm.

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
2013-03-11 13:32:01 +01:00
..
block block: implement BDRV_O_UNMAP 2013-02-22 21:29:42 +01:00
bt softmmu: move remaining include files to include/ subdirectories 2012-12-19 08:32:46 +01:00
char qemu-char: make char drivers dynamically registerable 2013-03-08 13:57:15 -06:00
disas build: kill libdis, move disassemblers to disas/ 2012-12-19 08:29:06 +01:00
exec tcg: Don't make exitreq flag a local temporary 2013-03-09 18:16:43 +01:00
fpu softfloat: Implement uint64_to_float128 2013-01-05 10:12:50 +00:00
migration migration: run pending/iterate callbacks out of big lock 2013-03-11 13:32:01 +01:00
monitor hw: move qdev-monitor.o to toplevel directory 2013-03-01 13:54:10 +01:00
net net: reduce the unnecessary memory allocation of multiqueue 2013-02-27 16:10:47 +01:00
qapi misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
qemu block-migration: add lock 2013-03-11 13:32:01 +01:00
qom Handle CPU interrupts by inline checking of a flag 2013-03-03 14:28:47 +00:00
sysemu migration: use qemu_file_set_error to pass error codes back to qemu_savevm_state 2013-03-11 13:32:01 +01:00
ui ui: add basic GTK gui (v5) 2013-02-21 16:34:48 -06:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
libfdt_env.h fdt: Use bswapN instead of bswap_N 2013-01-12 12:22:58 +00:00
qemu-common.h glib: Add compat wrapper for g_poll on old glib 2013-02-26 13:35:48 -06:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00