Re: [PATCH v11 0/8] ethdev: 100G and link speed API refactoring
From: Marc <hidden>
Date: 2016-03-25 21:31:12
Subsystem:
library code, the rest · Maintainers:
Andrew Morton, Linus Torvalds
On 25 March 2016 at 21:41, Marc [off-list ref] wrote:
On 25 March 2016 at 16:07, Zhang, Helin [off-list ref] wrote:quoted
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@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
Marcquoted
Regards, Helinquoted
-----Original Message----- From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] Sent: Friday, March 25, 2016 5:36 PM To: Xu, Qian Q <redacted> Cc: dev@dpdk.org; Marc <redacted>; Ananyev, Konstantin [off-list ref]; Lu, Wenzhuo [off-list ref]; Zhang, Helin [off-list ref]; Richardson, Bruce [off-list ref]; Glynn, Michael J <michael.j.glynn@intel.com>quoted
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 Inteldrivers.quoted
2016-03-25 01:02, Xu, Qian Q:quoted
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@gmail.com [mailto:marc.sune@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@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@intel.com<mailto:qian.q.xu@intel.com>> wrote:quoted
Marc I didn’t quite get your points, I observed that after applying thispatchset, allquoted
intel nic can’t be started, maybe something wrong happened when youcheckquoted
the duplex/autoneg value for different NICs. If we want to merge thepatchset inquoted
RC2, we need fix them. Maybe not an easy job in several days.quoted
Is this test#1 one of the tests contained in the DPDK repository oris it anquoted
internal test?quoted
Marc Thanks Qian From: marc.sune@gmail.com<mailto:marc.sune@gmail.com> [mailto:marc.sune@gmail.com<mailto:marc.sune@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@dpdk.org<mailto:dev@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@intel.com<mailto:qian.q.xu@intel.com>> wrote:quoted
We have tested with intel nic and found port can't be started for allnics:ixgbe/i40e/igb/bonding, see attached mail for more details. Pleasecheckquoted
and fix it.quoted
Thanks Qian -----Original Message----- From: dev [mailto:dev-bounces@dpdk.org<mailto:dev-bounces@dpdk.org>] On Behalf Of Thomas Monjalon Sent: Wednesday, March 23, 2016 3:59 AM To: Ananyev, Konstantin; Lu, Wenzhuo; Zhang, Helin Cc: marcdevel@gmail.com<mailto:marcdevel@gmail.com>; Richardson, Bruce; dev@dpdk.org<mailto:dev@dpdk.org> Subject: Re: [dpdk-dev] [PATCH v11 0/8] ethdev: 100G and link speed API refactoring 2016-03-17 19:08, Thomas Monjalon:quoted
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?quoted
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@intel.com<mailto:qian.q.xu@intel.com>> To: "Cao, Waterman" <waterman.cao@intel.com<mailto:waterman.cao@intel.com>>, "Glynn, Michael J" <michael.j.glynn@intel.com<mailto:michael.j.glynn@intel.com>> Cc: "Richardson, Bruce" <bruce.richardson@intel.com<mailto:bruce.richardson@intel.com>>,"Zhu,quoted
quoted
Heqing" <heqing.zhu@intel.com<mailto:heqing.zhu@intel.com>>, "O'Driscoll, Tim" <tim.odriscoll@intel.com<mailto:tim.odriscoll@intel.com>>, "Mcnamara, John" <john.mcnamara@intel.com<mailto:john.mcnamara@intel.com>>, "Xu, HuilongX" <huilongx.xu@intel.com<mailto:huilongx.xu@intel.com>>, "Fu, JingguoX" <jingguox.fu@intel.com<mailto:jingguox.fu@intel.com>>, "Xu, Qian Q" <qian.q.xu@intel.com<mailto:qian.q.xu@intel.com>>, "Zhang, Helin" <helin.zhang@intel.com<mailto:helin.zhang@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 isright.quoted
quoted
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 theseNIC port(igb,quoted
ixgbe, i40e, fm10k) can't be started. Pls check, if the patch isapplied, all INTELquoted
port can't be start, terrible things!quoted
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 thistxq.quoted
quoted
PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions aresatisfied. Rx Burst Bulk Alloc function will be used on port=1, queue=0.quoted
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 thatethdev hasquoted
to set link speeds? For the output it seems autoneg is disabled =>fixed speed,quoted
hence the new bitmaps have to be used.quoted
(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 needquoted
more document from Dev about this patch.quoted
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@intel.com<mailto:waterman.cao@intel.com>> Cc: Richardson, Bruce <bruce.richardson@intel.com<mailto:bruce.richardson@intel.com>>; Zhu, Heqing <heqing.zhu@intel.com<mailto:heqing.zhu@intel.com>>; O'Driscoll, Tim <tim.odriscoll@intel.com<mailto:tim.odriscoll@intel.com>>; Mcnamara, John <john.mcnamara@intel.com<mailto:john.mcnamara@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 withtesting/resolution?quoted
quoted
Regards Mike -----Original Message----- From: Thomas Monjalon[mailto:thomas.monjalon@6wind.com<mailto:thomas.monjalon@6wind.com>]quoted
Sent: Monday, March 21, 2016 2:19 PM To: O'Driscoll, Tim <tim.odriscoll@intel.com<mailto:tim.odriscoll@intel.com>>; Glynn, Michael J <michael.j.glynn@intel.com<mailto:michael.j.glynn@intel.com>>; Zhu, Heqing <heqing.zhu@intel.com<mailto:heqing.zhu@intel.com>> Cc: vincent.jardin@6wind.com<mailto:vincent.jardin@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 possiblethat itquoted
breaks the autonegotiation in e1000/ixgbe/i40e.quoted
Thanks for taking care.