Subject: Re: [GIT PULL] AlacrityVM guest drivers for 2.6.33

From: Anthony Liguori <[email-masked]>
Date: Wed, 23 Dec 2009 09:12:19 -0600

On 12/22/2009 06:02 PM, Chris Wright wrote:
> * Anthony Liguori ([email-masked]) 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