Avi Kivity wrote:
Anthony Liguori wrote:
Previously, the block API only exposed non-vector interfaces and
bounced vectored operations to a linear buffer. That's been
eliminated now though so we need to update the linux-aio patch to
implement a vectored backend interface.
However, it is an apples to apples comparison in terms of copying
since the same is true with the thread pool. My take away was that
the thread pool overhead isn't the major source of issues.
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.
Yes, I agree with this. The absence of copying (in both the thread pool
and linux-aio) could yield significantly different results.
Regards,
Anthony Liguori
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.
--
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