From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43212) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V6cWs-00035x-E4 for qemu-devel@nongnu.org; Tue, 06 Aug 2013 04:22:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V6cWl-0001Oj-TG for qemu-devel@nongnu.org; Tue, 06 Aug 2013 04:22:06 -0400 Received: from mail-we0-x232.google.com ([2a00:1450:400c:c03::232]:49669) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V6cWl-0001OW-MF for qemu-devel@nongnu.org; Tue, 06 Aug 2013 04:21:59 -0400 Received: by mail-we0-f178.google.com with SMTP id u57so77359wes.37 for ; Tue, 06 Aug 2013 01:21:59 -0700 (PDT) Date: Tue, 6 Aug 2013 10:21:55 +0200 From: Stefan Hajnoczi Message-ID: <20130806082155.GA32024@stefanha-thinkpad.redhat.com> References: <1375461052-2476-1-git-send-email-v.maffione@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1375461052-2476-1-git-send-email-v.maffione@gmail.com> Subject: Re: [Qemu-devel] [PATCH v6] e1000: add interrupt mitigation support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vincenzo Maffione Cc: aliguori@us.ibm.com, mst@redhat.com, lersek@redhat.com, jasowang@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, pbonzini@redhat.com, g.lettieri@iet.unipi.it, rizzo@iet.unipi.it, afaerber@suse.de On Fri, Aug 02, 2013 at 06:30:52PM +0200, Vincenzo Maffione wrote: > This patch partially implements the e1000 interrupt mitigation mechanisms. > Using a single QEMUTimer, it emulates the ITR register (which is the newer > mitigation register, recommended by Intel) and approximately emulates > RADV and TADV registers. TIDV and RDTR register functionalities are not > emulated (RDTR is only used to validate RADV, according to the e1000 specs). > > RADV, TADV, TIDV and RDTR registers make up the older e1000 mitigation > mechanism and would need a timer each to be completely emulated. However, > a single timer has been used in order to reach a good compromise between > emulation accuracy and simplicity/efficiency. > > The implemented mechanism can be enabled/disabled specifying the command > line e1000-specific boolean parameter "mitigation", e.g. > > qemu-system-x86_64 -device e1000,mitigation=on,... ... > > For more information, see the Software developer's manual at > http://download.intel.com/design/network/manuals/8254x_GBe_SDM.pdf. > > Interrupt mitigation boosts performance when the guest suffers from > an high interrupt rate (i.e. receiving short UDP packets at high packet > rate). For some numerical results see the following link > http://info.iet.unipi.it/~luigi/papers/20130520-rizzo-vm.pdf > > Signed-off-by: Vincenzo Maffione > --- > Added pc-*-1.7 machines (default machine moved to pc-i440fx-1.7). > > hw/i386/pc_piix.c | 18 ++++++- > hw/i386/pc_q35.c | 16 ++++++- > hw/net/e1000.c | 131 +++++++++++++++++++++++++++++++++++++++++++++++++-- > include/hw/i386/pc.h | 8 ++++ > 4 files changed, 167 insertions(+), 6 deletions(-) Great, thanks for working with us on the migration details, Vincenzo! Thanks, applied to my net-next tree: https://github.com/stefanha/qemu/commits/net-next Stefan