[dpdk-dev] [Bug 699] [dpdk-21.05] pvp_virtio_user_multi_queues_port_restart: virtio-user can't recieve packets when use packed ring and ring size is 255

bugzilla at dpdk.org bugzilla at dpdk.org
Sat May 8 09:33:13 CEST 2021


https://bugs.dpdk.org/show_bug.cgi?id=699

            Bug ID: 699
           Summary: [dpdk-21.05]
                    pvp_virtio_user_multi_queues_port_restart: virtio-user
                    can't recieve packets when use packed ring and ring
                    size is 255
           Product: DPDK
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: vhost/virtio
          Assignee: dev at dpdk.org
          Reporter: weix.ling at intel.com
  Target Milestone: ---

Environment

DPDK version: 
 21.05-rc2:47a0c2e11712fc5286d6a197d549817ae8f8f50e
Other software versions: N/A
OS: Ubuntu 20.04.1 LTS/Linux 5.11.6-051106-generic
Compiler: gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
Hardware platform: Intel(R) Xeon(R) Platinum 8280M CPU @ 2.70GHz
NIC hardware: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ (rev
01)
NIC driver & firmware: i40e-5.11.6-051106-generic/8.30 0x8000a4ae 1.2926.0


Test Setup
Steps to reproduce
List the steps to reproduce the issue.

#1.Build DPDK

CC=gcc meson -Denable_kmods=True -Dlibdir=lib  --default-library=static
x86_64-native-linuxapp-gcc
ninja -C x86_64-native-linuxapp-gcc

#2.Bind NIC port to DPDK
dpdk-devbind.py --force --bind=vfio-pci 0000:af:00.0

#3.Start vhost-user testpmd
x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31,32 -n 4 
--file-prefix=vhost_73033_20210508140517  -a 0000:af:00.0 --vdev
'net_vhost0,iface=vhost-net,queues=2,client=0' -- -i --nb-cores=2 --rxq=2
--txq=2 --rss-ip
set fwd mac
start

#4.Start virtio-user testpmd with packed ring path
x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 33,34,35 -n 4 
--file-prefix=virtio --no-pci  --vdev
net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=0,queue_size=255
-- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2
--txq=2 --txd=255 --rxd=255
set fwd mac
start

#5.Use TREX to send pakcets to DUT port
cd /opt/trex/v2.84/;./t-rex-64 -i --cfg /etc/trex_cfg_fvl40g.yaml -c 16
cd /opt/trex/v2.84/;./trex-console
start -f stl/bench.py -t size=64,vm=cached --port 0 -m 100% 

#6.Execute command to get throught from vhost-user testpmd
testpmd> show port stats all

Show the output from the previous commands.

testpmd> show port stats all 
 ######################## NIC statistics for port 0  ########################
  RX-packets: 1399768133 RX-missed: 273026869  RX-bytes:  89948812572
  RX-errors: 0
  RX-nombuf:  0
  TX-packets: 1175       TX-errors: 0          TX-bytes:  70500  Throughput
(since last show)
  Rx-pps:     39303277          Rx-bps:  18865575800
  Tx-pps:            0          Tx-bps:            0
  ############################################################################  

  ######################## NIC statistics for port 1  ########################
  RX-packets: 1175       RX-missed: 0          RX-bytes:  70500
  RX-errors: 0
  RX-nombuf:  0
  TX-packets: 2292       TX-errors: 0          TX-bytes:  137520  Throughput
(since last show)
  Rx-pps:            0          Rx-bps:            0
  Tx-pps:            0          Tx-bps:            0
  ############################################################################

Expected Result
Explain what is the expected result in text or as an example output:

testpmd> show port stats all  
######################## NIC statistics for port 0  ########################
  RX-packets: 26942470   RX-missed: 98913124   RX-bytes:  5625465796
  RX-errors: 0
  RX-nombuf:  0
  TX-packets: 26941001   TX-errors: 0          TX-bytes:  1616459356 
Throughput (since last show)
  Rx-pps:      9136506          Rx-bps:  15263702536
  Tx-pps:      9136475          Tx-bps:   4385501336
  ############################################################################

 ######################## NIC statistics for port 1  ########################
  RX-packets: 26941662   RX-missed: 0          RX-bytes:  1616499720
  RX-errors: 0
  RX-nombuf:  0
  TX-packets: 26941792   TX-errors: 0          TX-bytes:  1616507520 
Throughput (since last show)
  Rx-pps:      9136255          Rx-bps:   4385402816
  Tx-pps:      9136295          Tx-bps:   4385421736
  ############################################################################

Regression
Is this issue a regression: (Y/N) Y

Version the regression was introduced: Specify git id if known.

commit d18db8049c7c52fe91058c125c7a59c8c2f9cb42 (HEAD)
Author: Balazs Nemeth <bnemeth at redhat.com>
Date: Wed Apr 28 10:17:31 2021 +0800

vhost: read last used index once

Instead of calculating the address of a packed descriptor based on the
vq->desc_packed and vq->last_used_idx every time, store that base
address in desc_base. On arm, this saves 176 bytes in code size of
function in which vhost_flush_enqueue_batch_packed gets inlined.

Signed-off-by: Balazs Nemeth <bnemeth at redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the dev mailing list