From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_NEOMUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1707C10F0E for ; Thu, 4 Apr 2019 10:47:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AC67D204EC for ; Thu, 4 Apr 2019 10:47:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729526AbfDDKrj (ORCPT ); Thu, 4 Apr 2019 06:47:39 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:52082 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726694AbfDDKrj (ORCPT ); Thu, 4 Apr 2019 06:47:39 -0400 Received: by mail-wm1-f67.google.com with SMTP id 4so2467471wmf.1 for ; Thu, 04 Apr 2019 03:47:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=vPK11uGRmUcpa+lQG9Gw5g0h4HEJuk7neQkebCg4pBQ=; b=XS7R7IFFFYAr5KRy5LZAdt7MxHe2SauPrTFwJxBQNjTWdYTs3SL4i181ecwvjR/WKz 9rHp3pAsHhGmBtEWVAWnunbksVjEEkg7W2O3klFsVOP+/FxpEIJDRxMmwgguMjUBs2zV f9vMwhr2sGGKjWLwV9Xy/UrHWz2UmrvKT2jODYiFp1mY4v+DbvQAPh+7xGmXyus41ReW 8G9XjMJaUsmyJBjwPb3jjOuHsh6ylOF+dvXcNn/CIEo1tQyFOuS6Vb8JiuQUP8Q1KtH1 E4QXNiCdHS4L4YTgIPVRlP2QiAT4ZveLGPB39cKJz5cdMuARDPdjMVikwUQtCRRgqyoo CWZA== X-Gm-Message-State: APjAAAUA66yb9kozG076vrJhPMEv/eil0zwO3tJilbzvr8dJvVfharkQ itzIGIs3WP8dN47G0MGLbDzhOg== X-Google-Smtp-Source: APXvYqwQ1YfNnOuF9ghtzE3v12EHeYQIYSarDwmOr2qFCSjd03EL4JO4Y3R2c7wbIsuV5CZSEqiCvA== X-Received: by 2002:a05:600c:21d3:: with SMTP id x19mr3561887wmj.2.1554374857368; Thu, 04 Apr 2019 03:47:37 -0700 (PDT) Received: from steredhat (host40-210-static.34-79-b.business.telecomitalia.it. [79.34.210.40]) by smtp.gmail.com with ESMTPSA id x14sm20440366wmj.3.2019.04.04.03.47.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 04 Apr 2019 03:47:36 -0700 (PDT) Date: Thu, 4 Apr 2019 12:47:34 +0200 From: Stefano Garzarella To: Alex =?utf-8?Q?Benn=C3=A9e?= Cc: qemu devel list , netdev@vger.kernel.org, Stefan Hajnoczi Subject: Re: VSOCK benchmark and optimizations Message-ID: <20190404104734.ncgxybz5nyiipns5@steredhat> References: <20190401163240.xw24ezsloy5ds2hz@steredhat> <87zhp9599u.fsf@zen.linaroharston> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87zhp9599u.fsf@zen.linaroharston> User-Agent: NeoMutt/20180716 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Tue, Apr 02, 2019 at 04:19:25AM +0000, Alex Bennée wrote: > > My main interest is how it stacks up against: > > --device virtio-net-pci and I guess the vhost equivalent > Hi Alex, I added TCP tests on virtio-net and I did also a test with TCP_NODELAY, just to be fair, because VSOCK doesn't implement something like this (maybe could be an improvement to add for maximizing the throughput). I set the MTU to the maximum allowed (65520). I also redo the VSOCK tests. There are some differences because now I'm using tuned to have fewer fluctuations and I removed batching in VSOCK optimization because it is not ready to be published. VSOCK TCP + virtio-net + vhost host -> guest [Gbps] host -> guest [Gbps] pkt_size before opt. optimized TCP_NODELAY 64 0.060 0.096 0.16 0.15 256 0.22 0.36 0.32 0.57 512 0.42 0.74 1.2 1.2 1K 0.7 1.5 2.1 2.1 2K 1.5 2.9 3.5 3.4 4K 2.5 5.3 5.5 5.3 8K 3.9 8.8 8.0 7.9 16K 6.6 12.8 9.8 10.2 32K 9.9 18.1 11.8 10.7 64K 13.5 21.4 11.4 11.3 128K 17.9 23.6 11.2 11.0 256K 18.0 24.4 11.1 11.0 512K 18.4 25.3 10.1 10.7 Note: Maybe I have something miss configured because TCP on virtio-net doesn't exceed 11 Gbps. VSOCK TCP + virtio-net + vhost guest -> host [Gbps] guest -> host [Gbps] pkt_size before opt. optimized TCP_NODELAY 64 0.088 0.101 0.24 0.24 256 0.35 0.41 0.36 1.03 512 0.70 0.73 0.69 1.6 1K 1.1 1.3 1.1 3.0 2K 2.4 2.6 2.1 5.5 4K 4.3 4.5 3.8 8.8 8K 7.3 7.6 6.6 20.0 16K 9.2 11.1 12.3 29.4 32K 8.3 18.1 19.3 28.2 64K 8.3 25.4 20.6 28.7 128K 7.2 26.7 23.1 27.9 256K 7.7 24.9 28.5 29.4 512K 7.7 25.0 28.3 29.3 virtio-net is well optimized than VSOCK, but we are near :). Maybe we will use virtio-net as a transport for VSOCK, in order to avoid duplicate optimizations. How to reproduce TCP tests: host$ ip link set dev br0 mtu 65520 host$ ip link set dev tap0 mtu 65520 host$ qemu-system-x86_64 ... \ -netdev tap,id=net0,vhost=on,ifname=tap0,script=no,downscript=no \ -device virtio-net-pci,netdev=net0 guest$ ip link set dev eth0 mtu 65520 guest$ iperf3 -s host$ iperf3 -c ${VM_IP} -N -l ${pkt_size} # host -> guest host$ iperf3 -c ${VM_IP} -N -l ${pkt_size} -R # guest -> host Cheers, Stefano