Il 03/07/2012 16:28, Dor Laor ha scritto:
quoted
quoted
quoted
Users using a spinning disk still get IO scheduling in the host though.
What benefit is there in doing it in the guest as well?
The io scheduler waits for requests to merge and thus batch IOs
together. It's not important w.r.t spinning disks since the host can
do it but it causes much less vmexits which is the key issue for VMs.
Does it make sense to use the guest's I/O scheduler at all?
That's the reason we have a noop io scheduler.
But is performance really better with noop? We had to revert usage of
QUEUE_FLAG_NONROT in the guests because it caused performance
degradation (commit f8b12e513b953aebf30f8ff7d2de9be7e024dbbe).
The bio-based path is really QUEUE_FLAG_NONROT++, so it should really be
a special case for people who know what they're doing. (Better would be
to improve QEMU, there's definitely room for 20% improvement...).
Paolo