QEMU With E2K User Support
Go to file
Luigi Rizzo 7d91ddd25e net: fix unbounded NetQueue
In the current implementation of qemu, running without a network
backend will cause the queue to grow unbounded when the guest is
transmitting traffic.

This patch fixes the problem by implementing bounded size NetQueue,
used with an arbitrary limit of 10000 packets, and dropping packets
when the queue is full _and_ the sender does not pass a callback.

The second condition makes sure that we never drop packets that
contains a callback (which would be tricky, because the producer
expects the callback to be run when all previous packets have been
consumed; so we cannot run it when the packet is dropped).

If documentation is correct, producers that submit a callback should
stop sending when their packet is queued, so there is no real risk
that the queue exceeds the max size by large values.

Signed-off-by: Luigi Rizzo <rizzo@iet.unipi.it>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-02-27 16:10:39 +01:00
audio audio: Replace non-portable asprintf in debug code by g_strdup_printf 2013-01-16 12:03:26 -06:00
backends Make all static TypeInfos const 2013-01-10 15:11:53 -06:00
block qcow2: support compressed clusters in BlockFragInfo 2013-02-22 21:21:09 +01:00
bsd-user qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
default-configs make usb devices configurable 2013-02-19 12:28:48 +01:00
disas Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() 2013-02-23 16:11:19 +00:00
docs trace: Fix location of simpletrace.py in docs 2013-02-05 21:52:55 +01:00
fpu softfloat: Handle float_muladd_negate_c when product is zero 2013-01-26 13:22:09 +00:00
fsdev virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup() 2013-01-30 11:14:46 +01:00
gdb-xml
hw Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
include glib: Add compat wrapper for g_poll on old glib 2013-02-26 13:35:48 -06:00
ldscripts
libcacard libcacard: Fix unchecked strdup() by converting to g_strdup() 2013-01-30 11:14:46 +01:00
linux-headers Update Linux kernel headers 2013-01-18 19:06:57 +01:00
linux-user qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
net net: fix unbounded NetQueue 2013-02-27 16:10:39 +01:00
pc-bios Revert "Update OpenBIOS images" 2013-02-14 08:58:30 -06:00
pixman@97336fad32
po ui/gtk: Use menu item from stock for full screen 2013-02-22 14:49:00 -06:00
qapi qapi: Fix unchecked strdup() by converting to g_strdup() 2013-01-30 11:14:46 +01:00
qga qemu-ga: Fix unchecked strdup() by converting to g_strdup() 2013-01-30 11:14:46 +01:00
QMP
qobject build: move qobject files to qobject/ and libqemuutil.a 2013-01-12 18:42:50 +01:00
qom qom/object.c: Allow itf cast with num_itfs = 0 2013-02-21 16:34:10 -06:00
roms Revert "Update OpenBIOS images" 2013-02-14 08:58:30 -06:00
scripts fix scripts/make_device_config.sh 2013-02-19 11:53:49 +01:00
slirp slirp: Properly initialize pollfds_idx of new sockets 2013-02-26 12:10:21 +01:00
stubs slirp: switch to GPollFD 2013-02-21 16:17:31 -06:00
sysconfigs/target
target-alpha target-alpha: Use mulu2 for umulh insn 2013-02-23 17:25:29 +00:00
target-arm target-arm: Fix sbc_CC carry 2013-02-25 14:32:36 -06:00
target-cris target-cris: Use mul*2 in mul* insns 2013-02-23 17:25:30 +00:00
target-i386 target-i386: Use add2 to implement the ADX extension 2013-02-23 17:25:29 +00:00
target-lm32 qemu-log: Remove qemu_log_try_set_file() and its users 2013-02-23 09:42:14 +00:00
target-m68k cpu: Add CPUArchState pointer to CPUState 2013-02-16 14:51:00 +01:00
target-microblaze qemu-log: Remove qemu_log_try_set_file() and its users 2013-02-23 09:42:14 +00:00
target-mips target-mips: fix for sign-issue in MULQ_W helper 2013-02-23 22:20:45 +01:00
target-openrisc qemu-log: Remove qemu_log_try_set_file() and its users 2013-02-23 09:42:14 +00:00
target-ppc target-ppc: Fix SUBFE carry 2013-02-25 14:32:36 -06:00
target-s390x target-s390x: Use mulu2 for mlgr insn 2013-02-23 17:25:29 +00:00
target-sh4 target-sh4: Use mul*2 for dmul* 2013-02-23 17:25:31 +00:00
target-sparc target-sparc: Use mul*2 for multiply 2013-02-23 17:25:30 +00:00
target-unicore32 target-unicore32: Use mul*2 for do_mult 2013-02-23 17:25:31 +00:00
target-xtensa target-xtensa: Use add2/sub2 for mac 2013-02-23 17:25:31 +00:00
tcg qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
tests Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
trace trace: deal with deprecated glib thread functions 2013-02-12 16:26:44 -06:00
ui Add compat for GDK_KEY_XXX symbols 2013-02-26 13:29:55 -06:00
util host-utils: Improve mulu64 and muls64 2013-02-17 14:28:58 +00:00
.exrc
.gitignore .gitignore: Ignore optionrom/*.asm 2013-02-21 10:38:07 +01:00
.gitmodules
.mailmap
aio-posix.c aio: support G_IO_HUP and G_IO_ERR 2013-02-21 16:17:31 -06:00
aio-win32.c aio: Fix return value of aio_poll() 2013-01-17 10:51:42 +01:00
arch_init.c migration: calculate expected_downtime 2013-02-22 10:12:52 +01:00
async.c aio: convert aio_poll() to g_poll(3) 2013-02-21 16:17:31 -06:00
balloon.c
block-migration.c block-migration: fix pending() and iterate() return values 2013-02-12 16:26:44 -06:00
block.c block: implement BDRV_O_UNMAP 2013-02-22 21:29:42 +01:00
blockdev-nbd.c
blockdev.c blockdev: add discard suboption to -drive 2013-02-22 21:29:42 +01:00
blockjob.c
bt-host.c
bt-vhci.c
Changelog
cmd.c
cmd.h
CODING_STYLE
configure show --disable-gtk and --enable-gtk in the help message 2013-02-26 13:30:35 -06:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
coroutine-ucontext.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
coroutine-win32.c
cpu-exec.c Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() 2013-02-23 16:11:19 +00:00
cpus.c cpus.c: Drop unnecessary set_cpu_log() 2013-02-16 10:45:19 +00:00
cputlb.c cpu: Move current_tb field to CPUState 2013-02-16 14:51:00 +01:00
device_tree.c
disas.c
dma-helpers.c
dump-stub.c
dump.c cpu: Move host_tid field to CPUState 2013-02-16 14:50:59 +01:00
exec.c cputlb: Pass CPUState to cpu_unlink_tb() 2013-02-16 14:51:00 +01:00
gdbstub.c cpu: Move host_tid field to CPUState 2013-02-16 14:50:59 +01:00
HACKING
hmp-commands.hx qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
hmp.c error: Strip trailing '\n' from error string arguments (again) 2013-02-11 08:13:19 -06:00
hmp.h qemu-char: Saner naming of memchar stuff & doc fixes 2013-02-06 16:35:19 -06:00
iohandler.c iohandler: switch to GPollFD 2013-02-21 16:17:31 -06:00
ioport.c
kvm-all.c cpu: Move exit_request field to CPUState 2013-02-16 14:51:00 +01:00
kvm-stub.c kvm: Pass CPUState to kvm_on_sigbus_vcpu() 2013-01-28 16:57:56 +01:00
LICENSE
main-loop.c main-loop: drop rfds/wfds/xfds for good 2013-02-21 16:17:31 -06:00
MAINTAINERS prep: Move PReP machine to hw/ppc/ 2013-01-30 10:42:29 +01:00
Makefile gtk: add translation support (v5) 2013-02-21 16:34:48 -06:00
Makefile.objs qtest: Add MMIO support 2013-02-18 08:39:10 -06:00
Makefile.target qtest: Add MMIO support 2013-02-18 08:39:10 -06:00
memory_mapping-stub.c
memory_mapping.c
memory.c memory: Use non-bitops ctzl 2013-02-16 11:12:13 +00:00
migration-exec.c migration: make writes blocking 2012-12-20 23:09:25 +01:00
migration-fd.c migration: make writes blocking 2012-12-20 23:09:25 +01:00
migration-tcp.c migration: make writes blocking 2012-12-20 23:09:25 +01:00
migration-unix.c migration: make writes blocking 2012-12-20 23:09:25 +01:00
migration.c migration: calculate expected_downtime 2013-02-22 10:12:52 +01:00
monitor.c Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() 2013-02-23 16:11:19 +00:00
nbd.c
os-posix.c
os-win32.c
page_cache.c
qapi-schema-test.json
qapi-schema.json qemu-img: add compressed clusters to BlockFragInfo 2013-02-22 21:21:09 +01:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c console: allow VCs to be overridden by UI 2013-02-21 16:34:48 -06:00
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c coroutine: move pooling to common code 2013-02-22 21:21:10 +01:00
qemu-doc.texi qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
qemu-img-cmds.hx qemu-img: Add compare subcommand 2013-02-22 21:21:10 +01:00
qemu-img.c qemu-img: Add compare subcommand 2013-02-22 21:21:10 +01:00
qemu-img.texi qemu-img: Add compare subcommand 2013-02-22 21:21:10 +01:00
qemu-io.c block: implement BDRV_O_UNMAP 2013-02-22 21:29:42 +01:00
qemu-log.c qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
qemu-nbd.c qemu-nbd: add --discard option 2013-02-22 21:29:43 +01:00
qemu-nbd.texi qemu-nbd: add --discard option 2013-02-22 21:29:43 +01:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c
qemu.sasl
qmp-commands.hx qemu-char: Saner naming of memchar stuff & doc fixes 2013-02-06 16:35:19 -06:00
qmp.c
qtest.c qtest: Add MMIO support 2013-02-18 08:39:10 -06:00
readline.c readline: Fix unchecked strdup() by converting to g_strdup() 2013-01-30 11:14:46 +01:00
README
rules.mak rules/mak: make clean should blow away timestamp files 2013-01-30 01:31:08 +02:00
savevm.c migration: make qemu_ftell() public and support writable files 2013-02-12 16:26:44 -06:00
spice-qemu-char.c
tcg-runtime.c tcg: Implement multiword multiply helpers 2013-02-23 17:25:28 +00:00
tci.c
thread-pool.c
thunk.c
trace-events usb-xhci: usb3 streams 2013-02-19 13:17:48 +01:00
translate-all.c cputlb: Pass CPUState to cpu_unlink_tb() 2013-02-16 14:51:00 +01:00
translate-all.h cputlb: Pass CPUState to cpu_unlink_tb() 2013-02-16 14:51:00 +01:00
user-exec.c Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() 2013-02-23 16:11:19 +00:00
VERSION Open up 1.5 development tree 2013-02-15 17:40:56 -06:00
version.rc
vl.c gtk ui: unbreak spice 2013-02-26 13:26:16 -06:00
xbzrle.c Move XBZRLE encoding code to a separate file to allow testing 2013-02-01 08:32:20 +01:00
xen-all.c xen: Simplify halting of first CPU 2013-01-15 04:09:14 +01:00
xen-mapcache.c
xen-stub.c

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

- QEMU team