Re: [PATCH 0/6] Kill off the virtio_net tx mitigation timer

Anthony Liguori
2008-10-30T19:20:23Z

Mark McLoughlin wrote:
> Hey,
>
> The main patch in this series is 5/6 - it just kills off the
> virtio_net tx mitigation timer and does all the tx I/O in the
> I/O thread.
>
> Below are the results I got from benchmarking guest->host and
> host->guest on my machine.
>
> There's enough numbers there to make anyone blind, but basically
> there are results for current kvm-userspace.git, with the
> no-tx-timer patch applied and with the drop-the-mutex patch
> applied.
>
> Also, I've included results that show what difference some tuning
> makes with all the patches applied. The tuning basically just
> involves pinning the I/O thread and the netperf/netserver processes
> in both the host and guest to two physical CPUs which share a L2
> cache.
>
> (Yes, the 1k buffer size results are weird - we think there's a bug
> in recent kernels that causes us not to coalesce these small buffers
> into a large GSO packet before sending)
>
> Anyway, the results in all their glory:
>
> | guest->host tput | host->guest tput
> netperf, 10x20s runs (Gb/s) | min/ mean/ max/stddev | min/ mean/ max/stddev
> ------------------------------+----------------------------+---------------------------
> kvm-userspace.git, 1k | 0.600/ 0.645/ 0.670/ 0.025 | 5.170/ 5.285/ 5.470/ 0.087
> kvm-userspace.git, 16k | 3.070/ 3.350/ 3.710/ 0.248 | 5.950/ 6.374/ 6.760/ 0.261
> kvm-userspace.git, 65k | 4.950/ 6.041/ 7.170/ 0.639 | 5.480/ 5.642/ 5.810/ 0.092
>
> no tx timer, 1k | 0.720/ 0.790/ 0.850/ 0.040 | 4.950/ 5.172/ 5.370/ 0.128
> no tx timer, 16k | 4.120/ 4.512/ 4.740/ 0.190 | 4.900/ 5.480/ 6.230/ 0.416
> no tx timer, 65k | 5.510/ 7.702/ 9.600/ 1.153 | 4.490/ 5.208/ 5.690/ 0.408
>

Okay, I don't see 3/6 yet, but does no tx timer mean just no tx timer or
no tx timer + handling IO in the IO thread?

Regards,

Anthony Liguori