On 12/22/2009 06:02 PM, Chris Wright wrote:
* Anthony Liguori (anthony@xxxxxxxxxxxxx) wrote:
The
virtio-net setup probably made extensive use of pinning and other tricks
to make things faster than a normal user would see them. It ends up
creating a perfect combination of batching which is pretty much just
cooking the mitigation schemes to do extremely well for one benchmark.
Just pinning, the rest is stock virtio features like mergeable rx buffers,
GRO, GSO (tx mitigation is actually disabled).
Technically, tx mitigation isn't disabled. The heuristic is changed
such that instead of relying on a fixed timer, tx notification is
disabled until you can switch to another thread and process packets.
The effect is that depending on time slice length and system load, you
adaptively enable tx mitigation. It's heavily dependent on the
particulars of the system and the overall load.
For instance, this mitigation scheme looks great at high throughputs but
looks very bad at mid-to-low throughputs compared to timer based
mitigation (at least, when comparing CPU cost).
Regards,
Anthony Liguori
--
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