From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?iso-8859-1?Q?N=E9lio?= Laranjeiro Subject: Re: [PATCH v9 0/4] ethdev: add speed capabilities and refactor link API Date: Wed, 9 Mar 2016 11:09:07 +0100 Message-ID: <20160309100907.GO27714@autoinstall.dev.6wind.com> References: <1455488259-1000-1-git-send-email-marcdevel@gmail.com> <1456793151-1475-1-git-send-email-marcdevel@gmail.com> <20160308165305.GK27714@autoinstall.dev.6wind.com> <20160309092938.GN27714@autoinstall.dev.6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" To: Marc Sune Return-path: Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by dpdk.org (Postfix) with ESMTP id 8B93F2C59 for ; Wed, 9 Mar 2016 11:09:22 +0100 (CET) Received: by mail-wm0-f42.google.com with SMTP id l68so170377522wml.0 for ; Wed, 09 Mar 2016 02:09:22 -0800 (PST) Content-Disposition: inline In-Reply-To: <20160309092938.GN27714@autoinstall.dev.6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Mar 09, 2016 at 10:29:38AM +0100, N=E9lio Laranjeiro wrote: > On Tue, Mar 08, 2016 at 05:53:05PM +0100, N=E9lio Laranjeiro wrote: > > On Tue, Mar 08, 2016 at 04:00:29PM +0100, Marc Sune wrote: > > > 2016-03-01 1:45 GMT+01:00 Marc Sune : > > >=20 > > > > The current rte_eth_dev_info abstraction does not provide any mec= hanism to > > > > get the supported speed(s) of an ethdev. > > > > > > > > For some drivers (e.g. ixgbe), an educated guess could be done ba= sed on the > > > > driver's name (driver_name in rte_eth_dev_info), see: > > > > > > > > http://dpdk.org/ml/archives/dev/2013-August/000412.html > > > > > > > > However, i) doing string comparisons is annoying, and can silentl= y > > > > break existing applications if PMDs change their names ii) it doe= s not > > > > provide all the supported capabilities of the ethdev iii) for som= e drivers > > > > it > > > > is impossible determine correctly the (max) speed by the applicat= ion > > > > (e.g. in i40, distinguish between XL710 and X710). > > > > > > > > In addition, the link APIs do not allow to define a set of advert= ised link > > > > speeds for autonegociation. > > > > > > > > This series of patches adds the following capabilities: > > > > > > > > * speed_capa bitmap in rte_eth_dev_info, which is filled by the P= MDs > > > > according to the physical device capabilities. > > > > * refactors link API in ethdev to allow the definition of the adv= ertised > > > > link speeds, fix speed (no auto-negociation) or advertise all s= upported > > > > speeds (default). > > > > > > > > WARNING: this patch series, specifically 3/4, is NOT tested for m= ost of the > > > > PMDs, due to the lack of hardware. Only generic EM is tested (VM)= . > > > > Reviewing > > > > and testing required by PMD maintainers. > > > > > > > > * * * * * > > > > > > > > v2: rebase, converted speed_capa into 32 bits bitmap, fixed align= ment > > > > (checkpatch). > > > > > > > > v3: rebase to v2.1. unified ETH_LINK_SPEED and ETH_SPEED_CAP into > > > > ETH_SPEED. > > > > Converted field speed in struct rte_eth_conf to speed, to all= ow a > > > > bitmap > > > > for defining the announced speeds, as suggested M. Brorup. Fi= xed > > > > spelling > > > > issues. > > > > > > > > v4: fixed errata in the documentation of field speeds of rte_eth_= conf, and > > > > commit 1/2 message. rebased to v2.1.0. v3 was incorrectly bas= ed on > > > > ~2.1.0-rc1. > > > > > > > > v5: revert to v2 speed capabilities patch. Fixed MLX4 speed capab= ilities > > > > (thanks N. Laranjeiro). Refactored link speed API to allow se= tting > > > > advertised speeds (3/4). Added NO_AUTONEG option to explicite= ly disable > > > > auto-negociation. Updated 2.2 rel. notes (4/4). Rebased to cu= rrent > > > > HEAD. > > > > > > > > v6: Move link_duplex to be part of bitfield. Fixed i40 autoneg fl= ag link > > > > update code. Added rte_eth_speed_to_bm_flag() to .map file. F= ixed other > > > > spelling issues. Rebased to current HEAD. > > > > > > > > v7: Rebased to current HEAD. Moved documentation to v2.3. Still n= eeds > > > > testing > > > > from PMD maintainers. > > > > > > > > v8: Rebased to current HEAD. Modified em driver impl. to not touc= h base > > > > files. > > > > Merged patch 5 into 3 (map file). Changed numeric speed to a = 64 bit > > > > value. > > > > Filled-in speed capabilities for drivers bnx2x, cxgbe, mlx5 a= nd nfp in > > > > addition to the ones of previous patch sets. > > > > > > > > v9: rebased to current HEAD. Reverted numeric speed to 32 bit in = struct > > > > rte_eth_link (no atomic link get > 64bit). Fixed mlx5 driver > > > > compilation > > > > and link speeds. Moved documentation to release_16_04.rst and= fixed > > > > several > > > > issues. Upgrade NIC notes with speed capabilities. > > > > > > >=20 > > > Anyone interested in reviewing and _testing_ this series? > > >=20 > > > Thank you > > > Marc > >=20 > > Hi Marc, > >=20 > > I will take a look tomorrow morning and run test on Mellanox NICs > > (ConnectX 3 and 4). > >=20 > > I do not have access to the others NICs, if those who have can do > > it, could be really great. > >=20 > > Regards, >=20 > It works as expected with Mellanox NICs. >=20 > Regards, >=20 > --=20 > N=E9lio Laranjeiro > 6WIND Tested-by: Nelio Laranjeiro - OS/Kernel: Debian 8/3.16.0-4-amd64 - GCC: gcc (Debian 4.9.2-10) 4.9.2 - CPU: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz - MLNX OFED: 3.2-2.0.0.0 - NIC: ConnectX 4 100G - OS/Kernel: Debian 7/3.16.0-0.bpo.4-amd64 - GCC: gcc (Debian 4.7.2-5) 4.7.2 - CPU: Intel(R) Xeon(R) CPU E5-2648L 0 @ 1.80GHz - MLNX OFED: 3.2-2.0.0.0 - NIC: ConnectX 3 Pro 1. Link displayed at the correct negotiated speed: - 40Gbps for ConnectX3 Pro - 100Gbps for ConnectX4 100G - 40Gbps for ConnectX4 100G on a 40G link. 2. Configuring speed: - Not supported yet for Mellanox as expected. --=20 N=E9lio Laranjeiro 6WIND