From: Emanuele Faranda <black.silver@hotmail.it>
To: qemu-devel@nongnu.org
Subject: [Bug 1847861] Re: Guest stuttering under high disk IO (virtio)
Date: Sat, 12 Oct 2019 14:44:18 -0000 [thread overview]
Message-ID: <157089145885.9931.2617879447910979408.launchpad@chaenomeles.canonical.com> (raw)
In-Reply-To: 157089035721.2099.14904442368526379360.malonedeb@wampee.canonical.com
** Description changed:
Performing io intensive tasks on virtualized Windows causes the system
to visually stutter. I can often reproduce the problem by running fio on
windows:
fio --randrepeat=1 --ioengine=windowsaio --direct=1 --gtod_reduce=1
--name=test --filename=\\.\PhysicalDrive0 --bs=4k --iodepth=128
--size=4G --readwrite=randread
While the fio command is running, moving the mouse pointer will be be
laggy. The stuttering does not appear with iodepth <= 32 . The
stuttering also manifests while playing games, the music and video
pauses for a fraction of second in a playable but disturbing way.
Here are my system specs:
Host OS: archlinux
Guest OS: Windows 10 Enterprise
qemu version: qemu-git 8:v4.1.0.r1378.g98b2e3c9ab-1 (from AUR, compiled with -march=native)
CPU: AMD Ryzen Threadripper 1900X 8-Core Processor
Huge Pages: vm.nr_hugepages=4128
Disk: nvme type=raw, io=threads bus=virtio
GPU (passthrough): Radeon RX 570
Here are some fio test results on my windows guest:
[size=512M,iodepth=1 -> min=30k,avg=31k,stddev=508]
[size=2G,iodepth=8 -> min=203k,avg=207k,stddev=2.3k]
[size=2G,iodepth=16 -> min=320k,avg=330k,stddev=4.3k]
[size=4G,iodepth=32 -> min=300k,avg=310k,stddev=4.8k]
[size=4G,iodepth=64 -> min=278k,avg=366k,stddev=68.6k] -> STUTTER
[size=4G,iodepth=64 -> min=358k,avg=428k,stddev=52.6k] -> STUTTER
[size=4G,iodepth=128 -> min=92k,avg=217k,stddev=185k] -> STUTTER
[size=4G,iodepth=128 -> min=241k,avg=257k,stddev=14k] -> same config as above, but no stuttering
The min and avg values are the bandwidth values reported in KB/s by fio.
You can see that, when the stuttering occurs, the stardard deviation is
high and the minimum bandwidth is way below the average.
Additional note: the bandwidth reported with `fio` on my linux host is
about 2x the one reported in the guest:
sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1
--name=test --filename=/dev/nvme0n1 --bs=4k --iodepth=64 --size=512M
--readwrite=randread
read: IOPS=279k, BW=1092MiB/s (1145MB/s)(512MiB/469msec)
+
+ Moreover, during the fio tests on the guest I've noticed that the CPU
+ usage on the host is very high (around 450%) whereas on the guest is
+ only 10%
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1847861
Title:
Guest stuttering under high disk IO (virtio)
Status in QEMU:
New
Bug description:
Performing io intensive tasks on virtualized Windows causes the system
to visually stutter. I can often reproduce the problem by running fio
on windows:
fio --randrepeat=1 --ioengine=windowsaio --direct=1 --gtod_reduce=1
--name=test --filename=\\.\PhysicalDrive0 --bs=4k --iodepth=128
--size=4G --readwrite=randread
While the fio command is running, moving the mouse pointer will be be
laggy. The stuttering does not appear with iodepth <= 32 . The
stuttering also manifests while playing games, the music and video
pauses for a fraction of second in a playable but disturbing way.
Here are my system specs:
Host OS: archlinux
Guest OS: Windows 10 Enterprise
qemu version: qemu-git 8:v4.1.0.r1378.g98b2e3c9ab-1 (from AUR, compiled with -march=native)
CPU: AMD Ryzen Threadripper 1900X 8-Core Processor
Huge Pages: vm.nr_hugepages=4128
Disk: nvme type=raw, io=threads bus=virtio
GPU (passthrough): Radeon RX 570
Here are some fio test results on my windows guest:
[size=512M,iodepth=1 -> min=30k,avg=31k,stddev=508]
[size=2G,iodepth=8 -> min=203k,avg=207k,stddev=2.3k]
[size=2G,iodepth=16 -> min=320k,avg=330k,stddev=4.3k]
[size=4G,iodepth=32 -> min=300k,avg=310k,stddev=4.8k]
[size=4G,iodepth=64 -> min=278k,avg=366k,stddev=68.6k] -> STUTTER
[size=4G,iodepth=64 -> min=358k,avg=428k,stddev=52.6k] -> STUTTER
[size=4G,iodepth=128 -> min=92k,avg=217k,stddev=185k] -> STUTTER
[size=4G,iodepth=128 -> min=241k,avg=257k,stddev=14k] -> same config as above, but no stuttering
The min and avg values are the bandwidth values reported in KB/s by
fio. You can see that, when the stuttering occurs, the stardard
deviation is high and the minimum bandwidth is way below the average.
Additional note: the bandwidth reported with `fio` on my linux host is
about 2x the one reported in the guest:
sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1
--name=test --filename=/dev/nvme0n1 --bs=4k --iodepth=64 --size=512M
--readwrite=randread
read: IOPS=279k, BW=1092MiB/s (1145MB/s)(512MiB/469msec)
Moreover, during the fio tests on the guest I've noticed that the CPU
usage on the host is very high (around 450%) whereas on the guest is
only 10%
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1847861/+subscriptions
next prev parent reply other threads:[~2019-10-12 15:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-12 14:25 [Bug 1847861] [NEW] Guest stuttering under high disk IO (virtio) Emanuele Faranda
2019-10-12 14:35 ` [Bug 1847861] " Emanuele Faranda
2019-10-12 14:44 ` Emanuele Faranda [this message]
2021-04-22 7:42 ` Thomas Huth
2021-06-22 4:18 ` Launchpad Bug Tracker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=157089145885.9931.2617879447910979408.launchpad@chaenomeles.canonical.com \
--to=black.silver@hotmail.it \
--cc=1847861@bugs.launchpad.net \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.