qemu/include
Stefan Hajnoczi 5905fbc9c9 block: fix I/O throttling accounting blind spot
I/O throttling relies on bdrv_acct_done() which is called when a request
completes.  This leaves a blind spot since we only charge for completed
requests, not submitted requests.

For example, if there is 1 operation remaining in this time slice the
guest could submit 3 operations and they will all be submitted
successfully since they don't actually get accounted for until they
complete.

Originally we probably thought this is okay since the requests will be
accounted when the time slice is extended.  In practice it causes
fluctuations since the guest can exceed its I/O limit and it will be
punished for this later on.

Account for I/O upon submission so that I/O limits are enforced
properly.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Tested-By: Benoit Canet <benoit@irqsave.net>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-04-05 18:58:05 +02:00
..
backends QOM-ify the TPM support 2013-04-02 08:15:18 -05:00
block block: fix I/O throttling accounting blind spot 2013-04-05 18:58:05 +02:00
bt
char qemu-char: Add qemu_chr_fe_claim / _release helper functions 2013-04-04 19:21:25 -05:00
disas Add moxie disassembler 2013-03-23 14:25:41 +00:00
exec cpu: Pass CPUState to cpu_interrupt() 2013-03-12 10:35:55 +01:00
fpu
migration Add qemu_put_buffer_async 2013-03-26 13:32:33 +01:00
monitor qdev: DEVICE_DELETED event 2013-03-17 13:27:27 +02:00
net net: increase buffer size to accommodate Jumbo frame pkts 2013-03-25 11:14:07 +01:00
qapi Add qdict_clone_shallow() 2013-03-15 16:07:49 +01:00
qemu Allow clock_gettime() monotonic clock to be utilized on more OS's 2013-04-04 20:22:45 -05:00
qom Fix typos and misspellings 2013-03-22 13:25:07 +01:00
sysemu acpi_table_add(): accept QemuOpts and parse it with OptsVisitor 2013-04-04 19:23:08 -05:00
tpm QOM-ify the TPM support 2013-04-02 08:15:18 -05:00
ui console: remove ds_get_* helper functions 2013-03-18 10:21:59 +01:00
config.h
elf.h
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
libfdt_env.h
qemu-common.h cutils: add a function to find non-zero content in a buffer 2013-03-26 13:32:28 +01:00
trace.h