No description
Find a file
Hans de Goede 579967bea6 combined-packet: Add a workaround for Linux usbfs + live migration
Older versions (anything but the latest) of Linux usbfs + libusb(x),
will submit larger (bulk) transfers split into multiple 16k submissions,
which means that rather then all tds getting linked into the queue in
one atomic operarion they get linked in a bunch at a time, which could
cause problems if:
1) We scan the queue while libusb is in the middle of submitting a split
   bulk transfer
2) While this bulk transfer is pending we migrate to another host.

The problem is that after 2, the new host will rescan the queue and
combine the packets in one large transfer, where as 1) has caused the
original host to see them as 2 transfers. This patch fixes this by stopping
combinging if we detect a 16k transfer with its int_req flag set.

This should not adversely effect performance for other cases as:
1) Linux never sets the interrupt flag on packets other then the last
2) Windows does set the in_req flag on each td, but will submit large
transfers in 20k tds thus never triggering the check

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-01 15:17:58 +01:00
audio audio: Fix warning from static code analysis 2012-09-23 01:34:16 +04:00
block mirror: add support for on-source-error/on-target-error 2012-10-24 10:26:22 +02:00
bsd-user
default-configs target-sparc64: disable VGA cirrus 2012-10-27 14:36:04 +00:00
docs serial: add pci-serial documentation 2012-10-22 13:26:42 -05:00
fpu softfloat: implement fused multiply-add NaN propagation for MIPS 2012-10-31 22:20:45 +01:00
fsdev
gdb-xml
hw combined-packet: Add a workaround for Linux usbfs + live migration 2012-11-01 15:17:58 +01:00
include/qemu
libcacard Merge branch 'trivial-patches' of git://github.com/stefanha/qemu 2012-10-06 18:54:14 +02:00
linux-headers Update Linux kernel headers 2012-10-01 08:04:22 -05:00
linux-user target-mips: Add ASE DSP resources access check 2012-10-31 20:24:06 +01:00
net tap-win32: stubs to fix win32 build 2012-10-30 19:18:53 +00:00
pc-bios
qapi
qga qemu-ga: ask and print error information from qemu-sockets 2012-10-23 13:54:56 +02:00
QMP qmp: add pull_event function 2012-10-24 10:26:22 +02:00
qom
roms
scripts s390/kvm_stat: correct sys_perf_event_open syscall number 2012-10-29 19:41:55 +01:00
slirp cleanup useless return sentence 2012-10-05 15:10:21 +02:00
sysconfigs/target
target-alpha target-alpha: Use TCG_CALL_NO_WG 2012-10-31 22:20:44 +01:00
target-arm target-arm: rename helper flags 2012-10-28 14:54:23 +01:00
target-cris target-cris: rename helper flags 2012-10-28 14:54:23 +01:00
target-i386 qemu: enable PV EOI for qemu 1.3 2012-10-29 17:59:06 +02:00
target-lm32 Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
target-m68k Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
target-microblaze target-microblaze: rename helper flags 2012-10-28 14:54:23 +01:00
target-mips target-mips: don't flush extra TLB on permissions upgrade 2012-10-31 22:20:49 +01:00
target-openrisc Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
target-ppc Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf 2012-10-29 14:56:17 +01:00
target-s390x s390: sclp base support 2012-10-29 19:41:55 +01:00
target-sh4 target-sh4: rename helper flags 2012-10-28 14:54:24 +01:00
target-sparc target-sparc: Revert setting cpu_dst to gen_dest_gpr 2012-10-30 18:52:04 +00:00
target-unicore32 Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
target-xtensa target-xtensa: rename helper flags 2012-10-28 14:54:24 +01:00
tcg tcg: don't remove op if output needs to be synced to memory 2012-10-31 22:20:45 +01:00
tests target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
trace
ui vnc: drop QERR_VNC_SERVER_FAILED 2012-10-23 13:54:57 +02:00
.exrc
.gitignore Remove libhw 2012-10-05 16:07:49 -05:00
.gitmodules
.mailmap
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c aio: Another fix to the walking_handlers logic 2012-09-28 17:57:54 +02:00
alpha-dis.c
alpha.ld
arch_init.c migration: Add dirty_pages_rate to query migrate output 2012-10-17 18:34:58 +02:00
arch_init.h
arm-dis.c
arm.ld
async.c
balloon.c
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h
block-migration.c block-migration: handle errors with the return codes correctly 2012-10-17 18:34:59 +02:00
block-migration.h
block.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
block.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
block_int.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
blockdev-nbd.c qmp: add NBD server commands 2012-10-23 22:39:33 +02:00
blockdev.c mirror: add support for on-source-error/on-target-error 2012-10-24 10:26:22 +02:00
blockdev.h
blockjob.c iostatus: forward block_job_iostatus_reset to block job 2012-10-24 10:26:22 +02:00
blockjob.h iostatus: forward block_job_iostatus_reset to block job 2012-10-24 10:26:22 +02:00
bswap.h
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c buffered_file: buffered_put_buffer() don't need to set last_error 2012-10-17 18:34:59 +02:00
buffered_file.h buffered_file: We can access directly to bandwidth_limit 2012-10-17 18:34:59 +02:00
cache-utils.c
cache-utils.h
Changelog
cmd.c
cmd.h
CODING_STYLE
compatfd.c
compatfd.h
compiler.h w32: Always use standard instead of native format strings 2012-09-23 07:39:22 +01:00
config.h
configure configure: use -Wwombat to test whether gcc recognizes -Wno-wombat 2012-10-30 18:52:57 +00:00
console.c TextConsole: saturate escape parameter in TTY_STATE_CSI 2012-09-23 07:11:28 +01:00
console.h vnc: reorganize code for reverse mode 2012-10-23 13:54:56 +02:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-all.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cpu-common.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cpu-defs.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cpu-exec.c cpu_dump_state: move DUMP_FPU and DUMP_CCOP flags from x86-only to generic 2012-10-05 15:04:43 +01:00
cpus.c cpus: create qemu_in_vcpu_thread() 2012-10-17 18:35:00 +02:00
cpus.h
cputlb.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cputlb.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cris-dis.c
cursor.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cutils.c rtc: fix overflow in mktimegm 2012-10-05 08:02:30 -05:00
def-helper.h
device_tree.c device tree: simplify dumpdtb code 2012-10-05 02:35:11 +02:00
device_tree.h fdt: move dumpdtb interpretation code to device_tree.c 2012-10-05 02:35:11 +02:00
dis-asm.h
disas.c tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode. 2012-09-21 22:02:16 +02:00
disas.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dma-helpers.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dma.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dump-stub.c
dump.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dump.h
elf.h
envlist.c
envlist.h
error.c error: add error_set_errno and error_setg_errno 2012-10-23 13:54:55 +02:00
error.h error: add error_set_errno and error_setg_errno 2012-10-23 13:54:55 +02:00
event_notifier.c
event_notifier.h
exec-all.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
exec-memory.h memory: use AddressSpace for MemoryListener filtering 2012-10-22 14:50:07 +02:00
exec.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
gdbstub.c target-xtensa: add FP registers 2012-09-22 17:59:12 +00:00
gdbstub.h
gen-icount.h
HACKING Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
hmp-commands.hx qmp: add drive-mirror command 2012-10-24 10:26:20 +02:00
hmp.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
hmp.h qmp: add drive-mirror command 2012-10-24 10:26:20 +02:00
host-utils.c
host-utils.h
hppa-dis.c
hppa.ld
hwaddr.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c input: index_from_key(): drop unused code 2012-09-27 09:50:36 -03:00
int128.h
iohandler.c
ioport.c
ioport.h
iorange.h
iov.c iov: add iov_cpy 2012-10-29 18:25:22 +02:00
iov.h iov: add iov_cpy 2012-10-29 18:25:22 +02:00
json-lexer.c
json-lexer.h
json-parser.c
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
kvm-stub.c memory: manage coalesced mmio via a MemoryListener 2012-10-22 14:50:00 +02:00
kvm.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
libfdt_env.h
LICENSE
linux-aio.c
lm32-dis.c
m68k-dis.c
m68k.ld
main-loop.c
main-loop.h
MAINTAINERS MAINTAINERS: Update email address for Stefan Hajnoczi 2012-10-19 20:37:43 +02:00
Makefile Makefile: Forbid out-of-tree build from a source tree that has been built in 2012-10-27 14:41:13 +00:00
Makefile.dis
Makefile.objs qmp: add NBD server commands 2012-10-23 22:39:33 +02:00
Makefile.target Remove libhw 2012-10-05 16:07:49 -05:00
Makefile.user
memory-internal.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
memory.c memory: fix rendering of a region obscured by another 2012-10-29 14:32:00 -05:00
memory.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
memory_mapping-stub.c
memory_mapping.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
memory_mapping.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
microblaze-dis.c
migration-exec.c migration (incoming): add error propagation to fd and exec protocols 2012-10-23 13:54:56 +02:00
migration-fd.c migration (incoming): add error propagation to fd and exec protocols 2012-10-23 13:54:56 +02:00
migration-tcp.c migration (incoming): add error propagation to fd and exec protocols 2012-10-23 13:54:56 +02:00
migration-unix.c migration (incoming): add error propagation to fd and exec protocols 2012-10-23 13:54:56 +02:00
migration.c Merge branch 'queue/qmp' of git://repo.or.cz/qemu/qmp-unstable 2012-10-29 14:55:51 +01:00
migration.h migration (incoming): add error propagation to fd and exec protocols 2012-10-23 13:54:56 +02:00
mips-dis.c
mips.ld
module.c
module.h
monitor.c block: introduce BLOCK_JOB_READY event 2012-10-24 10:26:19 +02:00
monitor.h block: introduce BLOCK_JOB_READY event 2012-10-24 10:26:19 +02:00
nbd.c nbd: ask and print error information from qemu-sockets 2012-10-23 13:54:56 +02:00
nbd.h
net.c net: consolidate NetClientState header files into one 2012-10-08 13:59:40 +02:00
net.h
notify.c
notify.h
os-posix.c Merge branch 'trivial-patches' of git://github.com/stefanha/qemu 2012-10-06 18:54:14 +02:00
os-win32.c
osdep.c osdep: Less restrictive F_SEFL in qemu_dup_flags() 2012-10-24 10:26:22 +02:00
osdep.h win32: fix broken build due to missing QEMU_MADV_HUGEPAGE 2012-10-24 15:01:45 -05:00
oslib-posix.c
oslib-win32.c w32: Add implementation of gmtime_r, localtime_r 2012-09-23 17:09:30 +00:00
page_cache.c
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h
posix-aio-compat.c
ppc-dis.c
ppc.ld
ppc64.ld
qapi-schema-guest.json
qapi-schema-test.json
qapi-schema.json Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu-aio.h
qemu-barrier.h qemu-barrier: Fix compilation on i386 hosts 2012-10-07 20:07:11 +02:00
qemu-bridge-helper.c
qemu-char.c chardev: Use timer instead of bottom-half to postpone open event 2012-10-31 22:20:44 +01:00
qemu-char.h chardev: Use timer instead of bottom-half to postpone open event 2012-10-31 22:20:44 +01:00
qemu-common.h qemu-sockets: Fix compiler warning (regression for MinGW) 2012-10-05 14:49:01 +02:00
qemu-config.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qemu-config.h
qemu-coroutine-int.h
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-coroutine.h
qemu-doc.texi
qemu-error.c
qemu-error.h
qemu-file.h savevm: make qemu_file_put_notify() return errors 2012-10-17 18:35:00 +02:00
qemu-ga.c qemu-ga: ga_open_pidfile(): add new line to pidfile 2012-10-09 03:42:42 -05:00
qemu-img-cmds.hx qemu-img: document 'info --backing-chain' 2012-10-24 10:26:19 +02:00
qemu-img.c qemu-img: Add --backing-chain option to info command 2012-10-24 10:26:19 +02:00
qemu-img.texi qemu-img: document 'info --backing-chain' 2012-10-24 10:26:19 +02:00
qemu-io.c
qemu-lock.h
qemu-log.c qemu-log: Add new log category for guest bugs 2012-10-20 07:56:22 +00:00
qemu-log.h qemu-log: Add new log category for guest bugs 2012-10-20 07:56:22 +00:00
qemu-nbd.c
qemu-nbd.texi
qemu-objects.h
qemu-option-internal.h
qemu-option.c
qemu-option.h
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx qemu-config: Add new -add-fd command line option 2012-10-24 10:26:19 +02:00
qemu-os-posix.h curses: don't initialize curses when qemu is daemonized 2012-09-23 07:11:28 +01:00
qemu-os-win32.h Merge remote-tracking branch 'stefanha/trivial-patches' into staging 2012-09-25 16:06:16 -05:00
qemu-progress.c
qemu-queue.h
qemu-seccomp.c
qemu-seccomp.h
qemu-sockets.c qemu-sockets: add socket_listen, socket_connect, socket_parse 2012-10-23 22:39:16 +02:00
qemu-tech.texi
qemu-thread-posix.c
qemu-thread-posix.h
qemu-thread-win32.c
qemu-thread-win32.h
qemu-thread.h
qemu-timer-common.c
qemu-timer.c qemu-timer: Check for usable fields for SIGEV_THREAD_ID 2012-10-28 14:54:25 +01:00
qemu-timer.h tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode. 2012-09-21 22:02:16 +02:00
qemu-tls.h
qemu-tool.c qemu-sockets: add socket_listen, socket_connect, socket_parse 2012-10-23 22:39:16 +02:00
qemu-user.c
qemu-x509.h
qemu-xattr.h
qemu.sasl
qemu_socket.h qemu-sockets: add socket_listen, socket_connect, socket_parse 2012-10-23 22:39:16 +02:00
qerror.c
qerror.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c
qlist.h
qmp-commands.hx Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qmp.c Merge branch 'queue/qmp' of git://repo.or.cz/qemu/qmp-unstable 2012-10-29 14:55:51 +01:00
qobject.h
qstring.c
qstring.h
qtest.c
qtest.h
range.h Introduce range.h 2010-09-18 05:53:14 +00:00
readline.c
readline.h
README
rules.mak
s390-dis.c
s390.ld
savevm.c savevm: make qemu_file_put_notify() return errors 2012-10-17 18:35:00 +02:00
sh4-dis.c
softmmu-semi.h
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
sparc-dis.c tcg-sparc: Dump illegal opode contents 2012-10-13 10:39:53 +00:00
sparc.ld
sparc64.ld
spice-qemu-char.c
sysemu.h Add USB option in machine options 2012-10-29 11:45:54 +01:00
tcg-runtime.c
tci-dis.c
tci.c tcg: remove obsolete jmp op 2012-10-06 18:47:04 +02:00
thunk.c
thunk.h
TODO
trace-events xhci: add port trace points 2012-11-01 13:10:09 +01:00
translate-all.c
uboot_image.h
uri.c qemu: URI parsing library 2012-09-28 17:51:47 +02:00
uri.h qemu: URI parsing library 2012-09-28 17:51:47 +02:00
user-exec.c
VERSION
version.rc
vgafont.h
vl.c chardev: Use timer instead of bottom-half to postpone open event 2012-10-31 22:20:44 +01:00
vmstate.h
x86_64.ld
xen-all.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-mapcache.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-mapcache.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-stub.c xen: Introduce xen_modified_memory. 2012-10-03 13:48:45 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team