From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-f170.google.com (mail-lb0-f170.google.com [209.85.217.170]) by dpdk.org (Postfix) with ESMTP id 12665CE7 for ; Fri, 17 Jul 2015 20:03:16 +0200 (CEST) Received: by lbbpo10 with SMTP id po10so65156107lbb.3 for ; Fri, 17 Jul 2015 11:03:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=ETaY8nZLvrEDIQmhl4KEhI1iXDO8XrEdJxA9U6zvsjw=; b=a1ADyr7M7qazG3nr4/MbxZtcNaZZOxyYYEqyTl+okb8OpZ567LXhm40SFmJhITHWH6 PyWcuVsiSJoad9pwZXZ3rgLny8V5/Qgf3hnh9bMfYOBp/D0rZWWPn8M0QtuDaXs8oR// eWeSWzZtNUdAnDmAjvmidyg4DcNaJFztQEE1+y0Ql9iy9QKhPYrDPWobesQuYJvLjFNx KvVU02eywk1mp2OvGNQU2MqEUoHEqbgrn2G99MZsbNeeDjjrRKK/PGUd1Zn7ZYK9tE/T DnbVhrTnvh4y7fbrceG/D3LXz1RFbsE2M9RpIylCbctVC2QD8gzNkzr4tCH2Nm1lOy5U FLgw== MIME-Version: 1.0 X-Received: by 10.152.8.16 with SMTP id n16mr15484125laa.17.1437156195642; Fri, 17 Jul 2015 11:03:15 -0700 (PDT) Received: by 10.114.183.165 with HTTP; Fri, 17 Jul 2015 11:03:15 -0700 (PDT) Date: Fri, 17 Jul 2015 11:03:15 -0700 Message-ID: From: Clarylin L To: dev@dpdk.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] [dpdk-virtio] Performance tuning for dpdk with virtio? X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jul 2015 18:03:16 -0000 I am running dpdk with a virtual guest as a L2 forwarder. If the virtual guest is on passthrough, dpdk can achieve around 10G throughput. However if the virtual guest is on virtio, dpdk achieves just 150M throughput, which is a huge degrade. Any idea what could be the cause of such poor performance on virtio? and any performance tuning techniques I could try? Thanks a lot! lab@vpc-2:~$ ps aux | grep qemu libvirt+ 12020 228 0.0 102832508 52860 ? Sl 14:54 61:06 *qemu*-system-x86_64 -enable-kvm -name dpdk-perftest -S -machine pc-i440fx-trusty,accel=kvm,usb=off,mem-merge=off -cpu host -m 98304 -mem-prealloc -mem-path /dev/hugepages/libvirt/*qemu* -realtime mlock=off -smp 24,sockets=2,cores=12,threads=1 -numa node,nodeid=0,cpus=0-11,mem=49152 -numa node,nodeid=1,cpus=12-23,mem=49152 -uuid eb5f8848-9983-4f13-983c-e3bd4c59387d -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/*qemu*/dpdk-perftest.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/dpdk-perftest-hda.img,if=none,id=drive-ide0-0-0,format=qcow2 -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/var/lib/libvirt/images/dpdk-perftest-hdb.img,if=none,id=drive-ide0-0-1,format=qcow2 -device ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=2 -netdev tap,fd=24,id=hostnet0,vhost=on,vhostfd=25 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:45:ff:5e,bus=pci.0,addr=0x5 -netdev tap,fds=26:27:28:29:30:31:32:33,id=hostnet1,vhost=on,vhostfds=34:35:36:37:38:39:40:41 -device virtio-net-pci,mq=on,vectors=17,netdev=hostnet1,id=net1,mac=52:54:00:7e:b5:6b,bus=pci.0,addr=0x6 -netdev tap,fds=42:43:44:45:46:47:48:49,id=hostnet2,vhost=on,vhostfds=50:51:52:53:54:55:56:57 -device virtio-net-pci,mq=on,vectors=17,netdev=hostnet2,id=net2,mac=52:54:00:f1:a5:20,bus=pci.0,addr=0x7 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1,id=serial1 -vnc 127.0.0.1:0 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device i6300esb,id=watchdog0,bus=pci.0,addr=0x3 -watchdog-action reset -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4