From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id BFBA12C15; Thu, 31 Aug 2017 15:50:46 +0200 (CEST) Received: from lfbn-1-18623-73.w90-103.abo.wanadoo.fr ([90.103.154.73] helo=droids-corp.org) by mail.droids-corp.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dnPxB-0001KJ-AV; Thu, 31 Aug 2017 15:56:18 +0200 Received: by droids-corp.org (sSMTP sendmail emulation); Thu, 31 Aug 2017 15:50:38 +0200 Date: Thu, 31 Aug 2017 15:50:38 +0200 From: Olivier MATZ To: dev@dpdk.org, yliu@fridaylinux.org, maxime.coquelin@redhat.com Cc: stephen@networkplumber.org, stable@dpdk.org Message-ID: <20170831135037.ixkhiyirekwokoib@neon> References: <20170831134015.1383-1-olivier.matz@6wind.com> <20170831134015.1383-9-olivier.matz@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170831134015.1383-9-olivier.matz@6wind.com> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [dpdk-dev] [PATCH 8/9] net/virtio: keep Rx handler whatever the Tx queue config X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Aug 2017 13:50:46 -0000 Platform description -------------------- guest (dpdk) +----------------+ | | | | | port0 | +----------------+ | | virtio | +----------------+ | tap0 | | | | | +----------------+ host (linux, vhost-net) Host configuration ------------------ Start qemu with: - a ne2k management interface to avoi any conflict with dpdk - a virtio net device, connected to a tap interface through vhost-net - mergeable buffers disabled /usr/bin/qemu-system-x86_64 -k fr -daemonize --enable-kvm -m 2G -cpu host \ -smp 3 -serial telnet::40564,server,nowait -serial null \ -qmp tcp::44340,server,nowait -monitor telnet::49229,server,nowait \ -device ne2k_pci,mac=de:ad:de:01:02:03,netdev=user.0,addr=03 \ -netdev user,id=user.0,hostfwd=tcp::34965-:22 \ -netdev type=tap,id=vhostnet0,script=no,vhost=on,queues=8 \ -device virtio-net-pci,mrg_rxbuf=off,netdev=vhostnet0,mq=on,vectors=17 \ -hda "${VM_PATH}/ubuntu-16.04-template.qcow2" \ -snapshot -vga none -display none Guest configuration ------------------- Compile dpdk: cd dpdk.org make config T=x86_64-native-linuxapp-gcc sed -i 's,CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_INIT=n,CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_INIT=y,' build/.config sed -i 's,CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DRIVER=n,CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DRIVER=y,' build/.config make -j4 Prepare environment: mkdir -p /mnt/huge mount -t hugetlbfs nodev /mnt/huge echo 256 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages modprobe uio_pci_generic python usertools/dpdk-devbind.py -b uio_pci_generic 0000:00:02.0 ./build/app/testpmd -l 0,1 --log-level 7 -- --total-num-mbufs=16384 \ -i --port-topology=chained --disable-hw-vlan-filter \ --disable-hw-vlan-strip --txqflags=0 Without the fix, standard path is used in rx and tx, but simple rx could be used: ... PMD: set_rxtx_funcs(): virtio: using standard Rx path on port 0 PMD: set_rxtx_funcs(): virtio: using standard Tx path on port 0 ... With the fix: ... PMD: set_rxtx_funcs(): virtio: using simple Rx path on port 0 PMD: set_rxtx_funcs(): virtio: using standard Tx path on port 0 ...