From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140043.outbound.protection.outlook.com [40.107.14.43]) by dpdk.org (Postfix) with ESMTP id 71B651B5D0 for ; Mon, 26 Nov 2018 00:40:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fuIWNDKYb/2QizcmlmKTm5brr8vTI28nlEqVZHJ0d68=; b=SlxPFL0HYibkj623+sz3kndlQ/NBfTiqv56SOlVIIkGP+EODsgR0CKuF8ibRpMDcWJFjjR3tLpUaqPNPVir8OQayAW1jWvW5LOV0dTFFpxb3cp+RdbhnkTQ4n8plQvcYH0OFKurKS51dew9qTztlW+PK8irMnluaScN6ilqVQKU= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB4076.eurprd05.prod.outlook.com (52.134.66.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.30; Sun, 25 Nov 2018 23:40:30 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::dcbc:4578:3018:50f3]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::dcbc:4578:3018:50f3%4]) with mapi id 15.20.1361.019; Sun, 25 Nov 2018 23:40:30 +0000 From: Yongseok Koh To: Amedeo Sapio CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] MLX5 driver - number of descriptors overflow Thread-Index: AQHUgXjfTQLjCBXHAkCEqyawt1q6R6VhLYsA Date: Sun, 25 Nov 2018 23:40:29 +0000 Message-ID: <9BCD342E-D258-4D6E-B80A-E990574437B7@mellanox.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-originating-ip: [69.181.245.183] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR0502MB4076; 6:Cq/o5WLDrqcEF93UTonUgKCft5AlG9Mf+PLvizMegOnPlvnbwYlC9QRl9tFTwqyR2McQNCBPjZzWMaqUMeGiuK62MgBUzcdrOx3l7UhGCg5g8YTUQc71Qojg06PmW8UlH5eRcVrpausXZtbkvlig7Tl33KWIK6G5Rm2r8kIkDg0/Ll8MDZDK3D57v/mSeF9Lhwn3juXc7JTpg1BW/lq+jfPEnw6u0OjHLgmIE6qS/O2gbsXYdg8lxvzl97nAuIf+b05xkCVvNAJuJevDaJ6VKR9rbmZ4Uyocgi6FNpAghGJAGqBUHWfOniZlJwiElXrNRNutCFa/dJ2TF/CblvwM+Trhj8zmQpst37g+I/wRuSHMNm2Sm9xr/fmFmHgHnlH+UiLctizk0yhIy96cPbyn4Cg1IMqIy3u2pkSD+StK1q+FiqqR74waFsfcInsPomE5gthplq5/Al7VA2mCTc3AGg==; 5:hYTSHGC7nRZMRfiF3rvSPWtrErHvHnYH7Acsc9ebQ/U6u86NdRYLpXAAfxm9yby5yWbPet605svwZYnsCTde562hNdOFTs9hfVv5Sf0Qte7RM9fNA8yMVo9mvGV91LrZ9UEFnddT9WBhtnwvkR3UzxHBeFsSqoshl0pEI7k8IMk=; 7:e4LCk26dmQAGV/rYHacOyHhQN7mPPrQiSZnHC2AscPzlXqVDdUw7yVQW6ET4soOJ4I0C7TQ6On93iimJZ5EFdqrs7SaV04UdZT1SDYZnmSj9NkE58hVzZ1fHCrzq7REnUV+A5FYIoTR/Yy2Le0VO5w== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: b7ccca79-7cce-49b7-11c8-08d6532f627f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB4076; x-ms-traffictypediagnostic: DB3PR0502MB4076: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(85827821059158); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231442)(944501410)(52105112)(3002001)(93006095)(93001095)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:DB3PR0502MB4076; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB4076; x-forefront-prvs: 0867F4F1AA x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(39860400002)(396003)(136003)(346002)(199004)(189003)(97736004)(476003)(8936002)(81156014)(105586002)(81166006)(446003)(11346002)(106356001)(33656002)(36756003)(25786009)(8676002)(68736007)(6512007)(2906002)(102836004)(4326008)(478600001)(229853002)(256004)(53546011)(6506007)(82746002)(486006)(53936002)(305945005)(3846002)(86362001)(6486002)(76176011)(7736002)(99286004)(6116002)(316002)(6436002)(6916009)(6246003)(26005)(39060400002)(83716004)(71200400001)(66066001)(2616005)(186003)(14454004)(5660300001)(71190400001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB4076; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: PX+jS80AsnlgtiyKz7VAQiJ59TOF4RylSkmSD3Ow+GLiYepZS09L809vDBxMZ5PeMCdOCddpnkbgiC+FKkp6Fiuq3cQRPdbJANGqanQtvA66ODdwX3PQW93gApvNphEfo1GQprvk40l7zSmjpws048I8732L1L6yj7+x09PzkuxzHLjCUoKO++agE9cX6nVTO36WST/SKQCdiDbDj3s23L6qLh7o+VgJitYgrzjd8KeF3TjBwKEdrWA1QDU/vY9dSmuc4XM+7VsgdPgBYXb16l76OOXhLXGnl1Q8NGMzM03v40VTulzMk85tORL1O9GHoLF4IDDZdiAWb60FPPLkanS6FgL+dhXGRFc7Sl8sS0o= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7ccca79-7cce-49b7-11c8-08d6532f627f X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Nov 2018 23:40:29.9473 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB4076 Subject: Re: [dpdk-dev] MLX5 driver - number of descriptors overflow X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Nov 2018 23:40:31 -0000 > On Nov 21, 2018, at 1:01 AM, Amedeo Sapio wrote: >=20 > Hello, >=20 > I experienced a problem with the MLX5 driver running a code that is worki= ng > fine with an Intel card. I have found that the reason of this error is an > overflow of the uint16_t number of descriptors in the mlx driver. >=20 > Here the details: >=20 > - The NIC is a Mellanox ConnectX-5 100G. >=20 > - This is a summary code that I run to initialize the port: >=20 > ret =3D rte_eth_dev_configure(dpdk_par.portid, 1, 1, &port_conf); >=20 > dpdk_par.port_rx_ring_size =3D dev_info.rx_desc_lim.nb_max; > dpdk_par.port_tx_ring_size =3D dev_info.tx_desc_lim.nb_max; >=20 > ret =3D rte_eth_dev_adjust_nb_rx_tx_desc(dpdk_par.portid, > &dpdk_par.port_rx_ring_size, &dpdk_par.port_tx_ring_size); >=20 > ret =3D rte_eth_rx_queue_setup(dpdk_par.portid, 0, > dpdk_par.port_rx_ring_size, rte_eth_dev_socket_id(dpdk_par.portid), > &rx_conf, dpdk_data.pool); > ret =3D rte_eth_tx_queue_setup(dpdk_par.portid, 0, > dpdk_par.port_tx_ring_size, rte_eth_dev_socket_id(dpdk_par.portid), > &tx_conf); >=20 > ret =3D rte_eth_dev_start(dpdk_par.portid); >=20 > - The "rte_eth_dev_start" function returns -ENOMEM =3D -12 (Out of mem= ory) >=20 > - I see that "dev_info.rx_desc_lim.nb_max" is 65535. This value is round= ed > to the next power of 2 in "mlx5_rx_queue_setup", which overflows and > becomes 0. >=20 > I thought that "rte_eth_dev_adjust_nb_rx_tx_desc" should have adjusted t= he > value, but clearly it has not. Nice catch! You are right. We should've set it appropriately. Will come up with a patch. Meanwhile, can you please use a workaround?, e.g= ., rte_log2_u32(rte_align32prevpow2(dev_info.rx_desc_lim.nb_max)); Will let you know when we push a patch. Thanks, Yongseok