From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [PATCH 0/6] Kill off the virtio_net tx mitigation timer Date: Thu, 30 Oct 2008 14:20:16 -0500 Message-ID: <490A08F0.9050800@codemonkey.ws> References: <> <1225389113-28332-1-git-send-email-markmc@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Avi Kivity , kvm@vger.kernel.org To: Mark McLoughlin Return-path: Received: from yx-out-2324.google.com ([74.125.44.28]:12055 "EHLO yx-out-2324.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752125AbYJ3TUX (ORCPT ); Thu, 30 Oct 2008 15:20:23 -0400 Received: by yx-out-2324.google.com with SMTP id 8so330752yxm.1 for ; Thu, 30 Oct 2008 12:20:22 -0700 (PDT) In-Reply-To: <1225389113-28332-1-git-send-email-markmc@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 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