[dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring

Marc marcdevel at gmail.com
Fri Mar 25 22:30:51 CET 2016


On 25 March 2016 at 21:41, Marc <marcdevel at gmail.com> wrote:

>
> On 25 March 2016 at 16:07, Zhang, Helin <helin.zhang at intel.com> wrote:
>
>> Hi Thomas
>>
>> Beilei is investigating that, she will give her findings soon later, and
>> possibly a fix after validating that.
>> Thanks!
>>
>>
> I will try to reproduce this on my side too with the latest v12. I could
> not try latest patchsets, but i40 (XL710) and igb (82540EM) were working on
> my side for previous versions. Which exact NICs were used to test the
> patchset for igb?
>

I am able to reproduce it straight away by applying v12. The problem is
testpmd and in general existing applications have the default value of 0 as
link_speeds for autoneg.

>From v9 to v10 patchset the values ETH_LINK_SPEED_AUTONEG and
ETH_LINK_SPEED_FIXED were flipped. Reverting this makes it work:

marc at Beluga:~/personal/dpdk/tools$ git diff
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index ef2502a..fb247a7 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -244,8 +244,8 @@ struct rte_eth_stats {
 /**
  * Device supported speeds bitmap flags
  */
-#define ETH_LINK_SPEED_FIXED    (0 <<  0)  /**< Disable autoneg (fixed
speed) */
-#define ETH_LINK_SPEED_AUTONEG  (1 <<  0)  /**< Autonegotiate (all speeds)
*/
+#define ETH_LINK_SPEED_AUTONEG  (0 <<  0)  /**< Autonegotiate (all speeds)
*/
+#define ETH_LINK_SPEED_FIXED    (1 <<  0)  /**< Disable autoneg (fixed
speed) */
 #define ETH_LINK_SPEED_10M_HD   (1 <<  1)  /**<  10 Mbps half-duplex */
 #define ETH_LINK_SPEED_10M      (1 <<  2)  /**<  10 Mbps full-duplex */
 #define ETH_LINK_SPEED_100M_HD  (1 <<  3)  /**< 100 Mbps half-duplex */

I think having autoneg == 0 is better. Do you agree Thomas?

With this change my current NIC (I218-LM) is able to initialize:

Option: 27

  Enter hex bitmask of cores to execute testpmd app on
  Example: to execute app on cores 0 to 7, enter 0xff
bitmask: 0x3
Launching app
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 0 on socket 0
EAL: Detected lcore 2 as core 1 on socket 0
EAL: Detected lcore 3 as core 1 on socket 0
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 4 lcore(s)
EAL: Probing VFIO support...
EAL: Module /sys/module/vfio_pci not found! error 2 (No such file or
directory)
EAL: VFIO modules not loaded, skipping VFIO support...
EAL: Setting up physically contiguous memory...
EAL: Ask a virtual area of 0x26800000 bytes
EAL: Virtual area found at 0x7f33ef800000 (size = 0x26800000)
EAL: Ask a virtual area of 0x6e00000 bytes
EAL: Virtual area found at 0x7f33e8800000 (size = 0x6e00000)
EAL: Ask a virtual area of 0x800000 bytes
EAL: Virtual area found at 0x7f33e7e00000 (size = 0x800000)
EAL: Ask a virtual area of 0x4400000 bytes
EAL: Virtual area found at 0x7f33e3800000 (size = 0x4400000)
EAL: Ask a virtual area of 0xe00000 bytes
EAL: Virtual area found at 0x7f33e2800000 (size = 0xe00000)
EAL: Ask a virtual area of 0x600000 bytes
EAL: Virtual area found at 0x7f33e2000000 (size = 0x600000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f33e1c00000 (size = 0x200000)
EAL: Ask a virtual area of 0x43600000 bytes
EAL: Virtual area found at 0x7f339e400000 (size = 0x43600000)
EAL: Ask a virtual area of 0x8e00000 bytes
EAL: Virtual area found at 0x7f3395400000 (size = 0x8e00000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f3395000000 (size = 0x200000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f3394c00000 (size = 0x200000)
EAL: Requesting 1024 pages of size 2MB from socket 0
EAL: TSC frequency is ~2593996 KHz
EAL: Master lcore 0 is ready (tid=180078c0;cpuset=[0])
EAL: lcore 1 is ready (tid=94bff700;cpuset=[1])
EAL: PCI device 0000:00:19.0 on NUMA socket -1
EAL:   probe driver: 8086:15a2 rte_em_pmd
EAL:   PCI memory mapped at 0x7f3416000000
EAL:   PCI memory mapped at 0x7f3416020000
PMD: eth_em_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x15a2
Interactive-mode selected
Configuring Port 0 (socket 0)
PMD: eth_em_tx_queue_setup(): sw_ring=0x7f33e210efc0 hw_ring=0x7f33e21110c0
dma_addr=0x745110c0
PMD: eth_em_rx_queue_setup(): sw_ring=0x7f33e20fea80 hw_ring=0x7f33e20fef80
dma_addr=0x744fef80
PMD: eth_em_start(): <<

I am troubleshooting link status reporting, which seems not correct with
l2fwd. I will also double check that fixed speed and autoneg with subset of
speeds work.

@Thomas: once I've fixed this shall I submit v13 or should we wait for more
feedback from the rest of untested NICs? This patchset needs to be tested
by all drivers, at least.

marc


> Marc
>
>
>> Regards,
>> Helin
>>
>> > -----Original Message-----
>> > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
>> > Sent: Friday, March 25, 2016 5:36 PM
>> > To: Xu, Qian Q <qian.q.xu at intel.com>
>> > Cc: dev at dpdk.org; Marc <marcdevel at gmail.com>; Ananyev, Konstantin
>> > <konstantin.ananyev at intel.com>; Lu, Wenzhuo <wenzhuo.lu at intel.com>;
>> > Zhang, Helin <helin.zhang at intel.com>; Richardson, Bruce
>> > <bruce.richardson at intel.com>; Glynn, Michael J <
>> michael.j.glynn at intel.com>
>> > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API
>> > refactoring
>> >
>> > Is there someone investigating the issue?
>> > I think it should be simple to fix for someone mastering these Intel
>> drivers.
>> >
>> > 2016-03-25 01:02, Xu, Qian Q:
>> > > Marc
>> > > #Test1 is just a simple test. Just launch testpmd with these nic port.
>> > > ./testpmd –c 0x3 –n 4 -- -i
>> > >
>> > > Thanks
>> > > Qian
>> > >
>> > > From: marc.sune at gmail.com [mailto:marc.sune at gmail.com] On Behalf Of
>> > > Marc
>> > > Sent: Thursday, March 24, 2016 3:48 PM
>> > > To: Xu, Qian Q
>> > > Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
>> > > Richardson, Bruce; dev at dpdk.org
>> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
>> > > API refactoring
>> > >
>> > >
>> > >
>> > > On 24 March 2016 at 07:21, Xu, Qian Q
>> > <qian.q.xu at intel.com<mailto:qian.q.xu at intel.com>> wrote:
>> > > Marc
>> > > I didn’t quite get your points, I observed that after applying this
>> patchset, all
>> > intel nic can’t be started, maybe something wrong happened when you
>> check
>> > the duplex/autoneg value for different NICs. If we want to merge the
>> patchset in
>> > RC2, we need fix them. Maybe not an easy job in several days.
>> > >
>> > > Is this test#1 one of the tests contained in the DPDK repository or
>> is it an
>> > internal test?
>> > >
>> > > Marc
>> > >
>> > >
>> > >
>> > > Thanks
>> > > Qian
>> > >
>> > > From: marc.sune at gmail.com<mailto:marc.sune at gmail.com>
>> > > [mailto:marc.sune at gmail.com<mailto:marc.sune at gmail.com>] On Behalf Of
>> > > Marc
>> > > Sent: Thursday, March 24, 2016 4:54 AM
>> > > To: Xu, Qian Q
>> > > Cc: Thomas Monjalon; Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin;
>> > > Richardson, Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
>> > >
>> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
>> > > API refactoring
>> > >
>> > > Qian,
>> > >
>> > > On 23 March 2016 at 02:18, Xu, Qian Q
>> > <qian.q.xu at intel.com<mailto:qian.q.xu at intel.com>> wrote:
>> > > We have tested with intel nic and found port can't be started for all
>> > nics:ixgbe/i40e/igb/bonding, see attached mail for more details. Please
>> check
>> > and fix it.
>> > >
>> > >
>> > > Thanks
>> > > Qian
>> > >
>> > > -----Original Message-----
>> > > From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-bounces at dpdk.org>]
>> > > On Behalf Of Thomas Monjalon
>> > > Sent: Wednesday, March 23, 2016 3:59 AM
>> > > To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin
>> > > Cc: marcdevel at gmail.com<mailto:marcdevel at gmail.com>; Richardson,
>> > > Bruce; dev at dpdk.org<mailto:dev at dpdk.org>
>> > > Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed
>> > > API refactoring
>> > >
>> > > 2016-03-17 19:08, Thomas Monjalon:
>> > > > There are still too few tests and reviews, especially for
>> > > > autonegotiation with Intel devices (patch #6).
>> > > > I would not be surprised to see some bugs in this rework.
>> > >
>> > > Any feedback about autoneg in e1000/ixgbe/i40e?
>> > > Has it been tested before its integration in RC2?
>> > >
>> > > > The capabilities must be adapted per device. It can be improved in a
>> > > > separate patch.
>> > > >
>> > > > It will be integrated in 16.04-rc2.
>> > > > Please test and review shortly, thanks!
>> > >
>> > >
>> > > ---------- Forwarded message ----------
>> > > From: "Xu, Qian Q" <qian.q.xu at intel.com<mailto:qian.q.xu at intel.com>>
>> > > To: "Cao, Waterman"
>> > > <waterman.cao at intel.com<mailto:waterman.cao at intel.com>>, "Glynn,
>> > > Michael J"
>> > > <michael.j.glynn at intel.com<mailto:michael.j.glynn at intel.com>>
>> > > Cc: "Richardson, Bruce"
>> > > <bruce.richardson at intel.com<mailto:bruce.richardson at intel.com>>,
>> "Zhu,
>> > > Heqing" <heqing.zhu at intel.com<mailto:heqing.zhu at intel.com>>,
>> > > "O'Driscoll, Tim"
>> > > <tim.odriscoll at intel.com<mailto:tim.odriscoll at intel.com>>, "Mcnamara,
>> > > John" <john.mcnamara at intel.com<mailto:john.mcnamara at intel.com>>, "Xu,
>> > > HuilongX" <huilongx.xu at intel.com<mailto:huilongx.xu at intel.com>>, "Fu,
>> > > JingguoX" <jingguox.fu at intel.com<mailto:jingguox.fu at intel.com>>, "Xu,
>> > > Qian Q" <qian.q.xu at intel.com<mailto:qian.q.xu at intel.com>>, "Zhang,
>> > > Helin" <helin.zhang at intel.com<mailto:helin.zhang at intel.com>>
>> > > Date: Tue, 22 Mar 2016 06:41:37 +0000
>> > > Subject: RE: DPDK link speed with Intel devices Hi, all We have worked
>> > > out the basic test cases for the patchset.
>> > > 1. Test the link speed on major Intel NICs to see if the speed is
>> right.
>> > > 2. Test the auto-negoation on major Intel NICs to ensure it's working.
>> > > Nic covered: ixgbe, igb, i40e, fm10k, bonding(SW), virtio(SW)
>> > >
>> > > When we run the Test#1 for all major NICs. We found that all these
>> NIC port(igb,
>> > ixgbe, i40e, fm10k) can't be started. Pls check, if the patch is
>> applied, all INTEL
>> > port can't be start, terrible things!
>> > >
>> > > Interactive-mode selected
>> > > Configuring Port 0 (socket 0)
>> > > PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7f13e99e3440
>> > > hw_ring=0x7f13e99e5480 dma_addr=0x8299e5480
>> > > PMD: ixgbe_set_tx_function(): Using simple tx code path
>> > > PMD: ixgbe_set_tx_function(): Vector tx enabled.
>> > > PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7f13ffcb8080
>> > > sw_sc_ring=0x7f13ffcbaac0 hw_ring=0x7f13e99d3380 dma_addr=0x8299d3380
>> > > PMD: ixgbe_dev_start(): Invalid link_speeds for port 0;
>> > > autonegotiation disabled Fail to start port 0 Configuring Port 1
>> > > (socket 0)
>> > > PMD: i40e_set_tx_function_flag(): Vector tx can be enabled on this
>> txq.
>> > > PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are
>> > satisfied. Rx Burst Bulk Alloc function will be used on port=1, queue=0.
>> > > PMD: i40e_dev_start(): Invalid link_speeds for port 1; autonegotiation
>> > > disabled
>> > >
>> > >
>> > > Just to double-check; is the test#1 adapted to the _new_ API that
>> ethdev has
>> > to set link speeds? For the output it seems autoneg is disabled =>
>> fixed speed,
>> > hence the new bitmaps have to be used.
>> > >
>> > > (I am not claiming patchset is bug free; there might be issues still)
>> > >
>> > > Regards
>> > > marc
>> > >
>> > > Fail to start port 1
>> > > Please stop the ports first
>> > > Done
>> > >
>> > > Thanks
>> > > Qian
>> > >
>> > >
>> > > -----Original Message-----
>> > > From: Cao, Waterman
>> > > Sent: Tuesday, March 22, 2016 11:06 AM
>> > > To: Glynn, Michael J
>> > > Cc: Richardson, Bruce; Zhu, Heqing; O'Driscoll, Tim; Mcnamara, John;
>> > > Xu, Qian Q; Cao, Waterman
>> > > Subject: RE: DPDK link speed with Intel devices
>> > >
>> > > Hi Mike,
>> > >
>> > >         We just knew this patch set last week.
>> > >         Since this patch set is required to test with a lot of NIC,
>> we need
>> > more document from Dev about this patch.
>> > >         Currently, Qian is working on with Wenzhuo on it now.
>> > >
>> > > Waterman
>> > >
>> > >
>> > > -----Original Message-----
>> > > From: Glynn, Michael J
>> > > Sent: Tuesday, March 22, 2016 1:31 AM
>> > > To: Cao, Waterman
>> > > <waterman.cao at intel.com<mailto:waterman.cao at intel.com>>
>> > > Cc: Richardson, Bruce
>> > > <bruce.richardson at intel.com<mailto:bruce.richardson at intel.com>>; Zhu,
>> > > Heqing <heqing.zhu at intel.com<mailto:heqing.zhu at intel.com>>;
>> > > O'Driscoll, Tim
>> > > <tim.odriscoll at intel.com<mailto:tim.odriscoll at intel.com>>; Mcnamara,
>> > > John <john.mcnamara at intel.com<mailto:john.mcnamara at intel.com>>
>> > > Subject: FW: DPDK link speed with Intel devices
>> > > Importance: High
>> > >
>> > > Hi Waterman, all
>> > >
>> > > See below - are you aware? And if so where are we with
>> testing/resolution?
>> > >
>> > > Regards
>> > > Mike
>> > >
>> > >
>> > >
>> > > -----Original Message-----
>> > > From: Thomas Monjalon
>> > >
>> > [mailto:thomas.monjalon at 6wind.com<mailto:thomas.monjalon at 6wind.com>]
>> > > Sent: Monday, March 21, 2016 2:19 PM
>> > > To: O'Driscoll, Tim
>> > > <tim.odriscoll at intel.com<mailto:tim.odriscoll at intel.com>>; Glynn,
>> > > Michael J
>> > > <michael.j.glynn at intel.com<mailto:michael.j.glynn at intel.com>>; Zhu,
>> > > Heqing <heqing.zhu at intel.com<mailto:heqing.zhu at intel.com>>
>> > > Cc: vincent.jardin at 6wind.com<mailto:vincent.jardin at 6wind.com>
>> > > Subject: DPDK link speed with Intel devices
>> > >
>> > > Hi,
>> > >
>> > > We are still waiting for test feedbacks for this important patchset:
>> > >         ethdev: 100G and link speed API refactoring It is possible
>> that it
>> > breaks the autonegotiation in e1000/ixgbe/i40e.
>> > >
>> > > Thanks for taking care.
>> > >
>> > >
>> >
>>
>>
>


More information about the dev mailing list