Andrew Theurer wrote:
If the overhead is dominated by copying, then you won't see the
difference. Once the copying is eliminated, the comparison may yield
different results. We should certainly see a difference in context
switches.
I would like to test this the proper way. What do I need to do to
ensure these copies are eliminated? I am on a 2.6.27 kernel, am I
missing anything there? Anthony, would you be willing to provide a
patch to support the changes in the block API?
You need a 2.6.30 host kernel plus a libc patch. Or the linux-aio qemu
patch.
One cause of context switches won't be eliminated - the
non-saturating workload causes us to switch to the idle thread, which
incurs a heavyweight exit. This doesn't matter since we're idle
anyway, but when we switch back, we incur a heavyweight entry.
I have not looked at the schedstat or ftrace yet, but will soon.
Maybe it will tell us a little more about the context switches.
Here's a sample of the kvm_stat:
We have about 120K host_state_reloads/sec, 70K pio/sec, and 35K
interrupts/sec.
That corresponds to 35K virtio notifications/sec (reasonable for 8
cores), and 85K excess context switches/sec. These can probably be
eliminated by using linux-aio, except those due to idling.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html