From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier MATZ Subject: Re: [PATCH 8/9] net/virtio: keep Rx handler whatever the Tx queue config Date: Thu, 31 Aug 2017 15:50:38 +0200 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 Cc: stephen@networkplumber.org, stable@dpdk.org To: dev@dpdk.org, yliu@fridaylinux.org, maxime.coquelin@redhat.com Return-path: Content-Disposition: inline In-Reply-To: <20170831134015.1383-9-olivier.matz@6wind.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 ...