All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 578] i40evf_check_api_version(): PF/VF API version mismatch:(0.0)-(1.1) with multiple DPDK instances using different VFs with the same PF
Date: Wed, 18 Nov 2020 09:45:14 +0000	[thread overview]
Message-ID: <bug-578-3@http.bugs.dpdk.org/> (raw)

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

            Bug ID: 578
           Summary: i40evf_check_api_version(): PF/VF API version
                    mismatch:(0.0)-(1.1) with multiple DPDK instances
                    using different VFs with the same PF
           Product: DPDK
           Version: 20.08
          Hardware: All
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: juraj.linkes@pantheon.tech
  Target Milestone: ---

ISSUE DESCRIPTION:
VPP uses DPDK during startup with these init args:
EAL init args: -c 200000000 -n 4 --in-memory --log-level debug --file-prefix
vpp -w 0000:91:03.0 -w 0000:91:03.1 --master-lcore 33

When there's only one VPP starting up, the initialization is successful. When
we add multiple VPPs the initialization sometimes fails:
2020/11/16 08:58:49:660 notice     dpdk           EAL: Detected 64 lcore(s)
2020/11/16 08:58:49:660 notice     dpdk           EAL: Detected 2 NUMA nodes
2020/11/16 08:58:49:660 notice     dpdk           EAL: Selected IOVA mode 'VA'
2020/11/16 08:58:49:660 notice     dpdk           EAL: Probing VFIO support...
2020/11/16 08:58:49:660 notice     dpdk           EAL: VFIO support initialized
2020/11/16 08:58:49:660 notice     dpdk           EAL:   using IOMMU type 1
(Type 1)
2020/11/16 08:58:49:660 notice     dpdk           EAL: Probe PCI driver:
net_i40e_vf (8086:154c) device: 0000:91:03.0 (socket 1)
2020/11/16 08:58:49:660 notice     dpdk           i40evf_check_api_version():
PF/VF API version mismatch:(0.0)-(1.1)
2020/11/16 08:58:49:660 notice     dpdk           i40evf_init_vf(): check_api
version failed
2020/11/16 08:58:49:660 notice     dpdk           i40evf_dev_init(): Init vf
failed
2020/11/16 08:58:49:660 notice     dpdk           EAL: Releasing pci mapped
resource for 0000:91:03.0
2020/11/16 08:58:49:660 notice     dpdk           EAL: Calling
pci_unmap_resource for 0000:91:03.0 at 0x2101000000
2020/11/16 08:58:49:660 notice     dpdk           EAL: Calling
pci_unmap_resource for 0000:91:03.0 at 0x2101010000
2020/11/16 08:58:49:660 notice     dpdk           EAL: Requested device
0000:91:03.0 cannot be used
2020/11/16 08:58:49:660 notice     dpdk           EAL:   using IOMMU type 1
(Type 1)


EXPANDED SETUP/FAILURE EXPLANATION:
There is one testsuite running tests serially in one Jenkins job. Each test
starts VPP anew, so the DPDK initialization happens multiple times during a
testsuite run. When there is only one Jenkins job running, no failure is
observed. With multiple Jenkins jobs (and multiple testsuites running in
parallel), there is a small likelihood that a small number (usually just 1) of
initialization failures will occur, suggesting that when multiple DPDK
instances are retrieving PF/VF version there's a race condition resulting in PF
version 0.0 being retrieved.
Each Jenkins job uses two different VFs from the same PF.

An illustration of what likely happens:
VPP1 in job1 starts and DPDK initializes VF1 and VF2 from a PF.
VPP2 in job2 starts and DPDK initializes VF3 and VF4 from the same PF.
One or more of VF1, VF2, VF3 or VF4 don't get properly initialized because of:
i40evf_check_api_version(): PF/VF API version mismatch:(0.0)-(1.1)

NIC:
Intel Ethernet Converged Network Adapter XL710-Q2
cat /sys/class/net/enp5s0f0/device/device 
0x1583
cat /sys/class/net/enp5s0f0/device/vendor 
0x8086
cat /sys/class/net/enp5s0f0/device/subsystem_device 
0x0001
cat /sys/class/net/enp5s0f0/device/subsystem_vendor 
0x8086

DRIVER/FIRMWARE VERSION:
driver: i40e
version: 2.1.14-k
firmware-version: 6.01 0x800035da 1.1747.0
expansion-rom-version: 
bus-info: 0000:05:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

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

             reply	other threads:[~2020-11-18  9:45 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-18  9:45 bugzilla [this message]
2020-12-09  0:54 ` [dpdk-dev] [Bug 578] i40evf_check_api_version(): PF/VF API version mismatch:(0.0)-(1.1) with multiple DPDK instances using different VFs with the same PF bugzilla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-578-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.