From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 16D9AA04A3 for ; Mon, 15 Jun 2020 12:51:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E7C794CA7; Mon, 15 Jun 2020 12:51:31 +0200 (CEST) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00080.outbound.protection.outlook.com [40.107.0.80]) by dpdk.org (Postfix) with ESMTP id 495D32B87; Mon, 15 Jun 2020 12:51:29 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J24kafgISqYlkZyqciLLWZy8SxqJMEKPT9BKnlHJewaD2tHUK6IJe2THMM2Ud/S1J7q6NcIgm4hp9a3hb5G9sqzlmLRC8wX9HBaUsCrwin47Gjs2dkxsqTIgxVwnz5N4IZAcPOgL6NLnXj9VJo7xkf2NkmvzB92zUEOGZtn1Z8LKX9UrCiOaD/4XQV+yBhqjUvB5KMoAx3srktmTsRlFmGh7/xV+moohTxLFdDX3oYsHS9K9vVIB1G9L4Ke/1E7+7GM2c64vnQn+if7X6QF3zQ1loZPYXkeuJ7cQbWpiLMw9Ub9nssSrziBUqcqGk5YlXi12Hlp6IYqVDMJ/M1xYHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6ZE8NFWSJy5oiSdTfRaLFsPDC5bkVNTILRX67QLhaBM=; b=aFeikH6rT6l4PPkES29tKskq16OXDIj86adIRJHeTMnYQWgt97/PIGt/g1goSutTg/11yAm8fUDY7TTN5u/YqFF1sE8gFuTza+zaBaOS4CCVU46qXk0XRZMbD3mqjJrAG9CE66PTBEVwr2LR9il9aiqxnZrHqgolnqXfi5wib7aNpIk65l+4v5nZSToZEJDjAX49ha7ItBVHk7fniJ6xli7xpjGaudlDg/Rbq8D/R6yN3PR6yCG0DhCQonrM2Ssw6g8JUD0cLOJimqBrkdfv1cVY08iAlc9XwzPlD7Y8D5Iu83zq8jBOyjPKTzbPgsTeHNCElr8OGRjjFV0/wEptFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none 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=6ZE8NFWSJy5oiSdTfRaLFsPDC5bkVNTILRX67QLhaBM=; b=U8EuXmv1iQ6qjWDdB8zwJjAtN3y5tzWVFAnGGgxLheOCipgFxP28WLuM+sIzGKWuczvg9ww1pHdcswKK7C9DInAkXlqvgWfisTLeqSzveF3qf6M/eAe9pmnpsUkp65AbGQ/+Lle6Pc2RxATPNkmab1LmKSNbgByR1JWlcIbvf7M= Received: from AM0PR05MB6707.eurprd05.prod.outlook.com (2603:10a6:20b:15b::17) by AM0PR05MB6179.eurprd05.prod.outlook.com (2603:10a6:208:11d::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.26; Mon, 15 Jun 2020 10:51:25 +0000 Received: from AM0PR05MB6707.eurprd05.prod.outlook.com ([fe80::ecd3:6008:3784:4012]) by AM0PR05MB6707.eurprd05.prod.outlook.com ([fe80::ecd3:6008:3784:4012%5]) with mapi id 15.20.3088.029; Mon, 15 Jun 2020 10:51:25 +0000 From: Raslan Darawsheh To: Alexander Kozyrev , "dev@dpdk.org" CC: "stable@dpdk.org" , Matan Azrad Thread-Topic: [PATCH] net/mlx5: fix Rx/Tx descriptors number adjustment Thread-Index: AQHWQBfVrCJED/4Jo0KFPtdnkaCp26jZhEqQ Date: Mon, 15 Jun 2020 10:51:25 +0000 Message-ID: References: <1591897407-15381-1-git-send-email-akozyrev@mellanox.com> In-Reply-To: <1591897407-15381-1-git-send-email-akozyrev@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mellanox.com; dkim=none (message not signed) header.d=none;mellanox.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [84.242.49.134] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: d6d314b1-d334-45c0-adfb-08d8111a0ce5 x-ms-traffictypediagnostic: AM0PR05MB6179: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-forefront-prvs: 04359FAD81 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Mq28Xbqt70Hcjawt4lN1qBZjX6z5lZ3iUj18v09XVJCQQTB5UUCUcaR0DA1HTKNSGk/G9j8qp/y64NzPBfu4ohrm9qc+gqphjPymOHnv/AGOEn5VtOwIYGigBAaggNSPUrjCg3n+2kusiBrtYm8GSUkDXh8t3x/T21yIyRCI5IXyF+Q18cIvT47Vw6mACnPzcWEjSeXode2DLDhxi5WuvdQx9h0fEtwMMjH8mRhj68hR7zlHJBC9fF+myBNfWkkrrJLv3nUhPfZJu2gjtzGyMImEaWnikLKOqNHfi7PjrU29kbo0NCquRThor+H73++TxPGCsMvBwispVNPHArRxkA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR05MB6707.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(366004)(39860400002)(136003)(396003)(376002)(316002)(2906002)(478600001)(110136005)(450100002)(83380400001)(186003)(54906003)(4326008)(55016002)(6506007)(53546011)(107886003)(71200400001)(9686003)(86362001)(64756008)(8676002)(66556008)(33656002)(76116006)(7696005)(26005)(8936002)(66946007)(66476007)(66446008)(5660300002)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: NEnoD/qoe2KCsyw7iyzkgShYkqgxiUz2ePLwxvt+ORPKVIdBzFGHQ1TZfg8O9jM3quft/tdn9+RMMrSRrz6JTs0MKon8pRmcyhpIH8Ceugu5e+wRA+D1mjtfBmao2dzE7wEHK3K8lPriqAIZItsT6fLOwVYm4o4GaTHDcfMLjyOhtsjyzqtMneLazwF7fl+8gm5Az3PbkTMmbYXj9T509OBNoIAc/D6rsSrj4rgsDz0p9CWsgHoM/jSy9e0ZjzTcuansGErOvELwfDkxW099lPoWU28YE9askVocBBnCQN7CAqQH61gfB9Nm2JUa5kdGu3aFdntdWZVozOeCxGpEvaTjTX2BfRGMBaj2aKYjJFoYo8fgglMxc2Kcfk9MKCd+QpMmRX/fVdMxLMl9HuDQNhpRXpyP/HlFu2oT/6buDWhwwJTIu6YbEb3B9VlDHI9KcGbEn1OMoJlMFM5NcHcCOXuWtdPegQJLWgPe3N3E3Bk= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6d314b1-d334-45c0-adfb-08d8111a0ce5 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2020 10:51:25.5299 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Di/86vAFyvyFGrwOlgmHZCXwwZnOU/mUJp2iBCNygmjbgYxEjymrrik/RIHQvrcNfV9vIb7sn2NGmbW4jaUiZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB6179 Subject: Re: [dpdk-stable] [PATCH] net/mlx5: fix Rx/Tx descriptors number adjustment X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, > -----Original Message----- > From: Alexander Kozyrev > Sent: Thursday, June 11, 2020 8:43 PM > To: dev@dpdk.org > Cc: stable@dpdk.org; Raslan Darawsheh ; Matan > Azrad > Subject: [PATCH] net/mlx5: fix Rx/Tx descriptors number adjustment >=20 > The number of descriptors to configure in a Rx/Tx queue is passed to > the mlx5_tx/rx_queue_pre_setup() function by value. That means any > adjustments of this variable are local and cannot affect the actual > value that is used to allocate mbufs in the mlx5_txq/rxq_new() > functions. Pass the number as a reference to actually update it. >=20 > Fixes: 6218063b ("net/mlx5: refactor Rx data path") > Fixes: 1d88ba17 ("net/mlx5: refactor Tx data path") > Cc: stable@dpdk.org >=20 > Signed-off-by: Alexander Kozyrev > Acked-by: Matan Azrad > --- > drivers/net/mlx5/mlx5_rxq.c | 14 +++++++------- > drivers/net/mlx5/mlx5_txq.c | 22 +++++++++++----------- > 2 files changed, 18 insertions(+), 18 deletions(-) >=20 > diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c > index 78046fd..dda0073 100644 > --- a/drivers/net/mlx5/mlx5_rxq.c > +++ b/drivers/net/mlx5/mlx5_rxq.c > @@ -453,19 +453,19 @@ > * 0 on success, a negative errno value otherwise and rte_errno is set= . > */ > static int > -mlx5_rx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t > desc) > +mlx5_rx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t > *desc) > { > struct mlx5_priv *priv =3D dev->data->dev_private; >=20 > - if (!rte_is_power_of_2(desc)) { > - desc =3D 1 << log2above(desc); > + if (!rte_is_power_of_2(*desc)) { > + *desc =3D 1 << log2above(*desc); > DRV_LOG(WARNING, > "port %u increased number of descriptors in Rx > queue %u" > " to the next power of two (%d)", > - dev->data->port_id, idx, desc); > + dev->data->port_id, idx, *desc); > } > DRV_LOG(DEBUG, "port %u configuring Rx queue %u for %u > descriptors", > - dev->data->port_id, idx, desc); > + dev->data->port_id, idx, *desc); > if (idx >=3D priv->rxqs_n) { > DRV_LOG(ERR, "port %u Rx queue index out of range (%u >=3D > %u)", > dev->data->port_id, idx, priv->rxqs_n); > @@ -511,7 +511,7 @@ > container_of(rxq, struct mlx5_rxq_ctrl, rxq); > int res; >=20 > - res =3D mlx5_rx_queue_pre_setup(dev, idx, desc); > + res =3D mlx5_rx_queue_pre_setup(dev, idx, &desc); > if (res) > return res; > rxq_ctrl =3D mlx5_rxq_new(dev, idx, desc, socket, conf, mp); > @@ -552,7 +552,7 @@ > container_of(rxq, struct mlx5_rxq_ctrl, rxq); > int res; >=20 > - res =3D mlx5_rx_queue_pre_setup(dev, idx, desc); > + res =3D mlx5_rx_queue_pre_setup(dev, idx, &desc); > if (res) > return res; > if (hairpin_conf->peer_count !=3D 1 || > diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c > index f7b548f..90f3296 100644 > --- a/drivers/net/mlx5/mlx5_txq.c > +++ b/drivers/net/mlx5/mlx5_txq.c > @@ -150,27 +150,27 @@ > * 0 on success, a negative errno value otherwise and rte_errno is set= . > */ > static int > -mlx5_tx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t > desc) > +mlx5_tx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t > *desc) > { > struct mlx5_priv *priv =3D dev->data->dev_private; >=20 > - if (desc <=3D MLX5_TX_COMP_THRESH) { > + if (*desc <=3D MLX5_TX_COMP_THRESH) { > DRV_LOG(WARNING, > "port %u number of descriptors requested for Tx > queue" > " %u must be higher than MLX5_TX_COMP_THRESH, > using %u" > - " instead of %u", > - dev->data->port_id, idx, MLX5_TX_COMP_THRESH + > 1, desc); > - desc =3D MLX5_TX_COMP_THRESH + 1; > + " instead of %u", dev->data->port_id, idx, > + MLX5_TX_COMP_THRESH + 1, *desc); > + *desc =3D MLX5_TX_COMP_THRESH + 1; > } > - if (!rte_is_power_of_2(desc)) { > - desc =3D 1 << log2above(desc); > + if (!rte_is_power_of_2(*desc)) { > + *desc =3D 1 << log2above(*desc); > DRV_LOG(WARNING, > "port %u increased number of descriptors in Tx > queue" > " %u to the next power of two (%d)", > - dev->data->port_id, idx, desc); > + dev->data->port_id, idx, *desc); > } > DRV_LOG(DEBUG, "port %u configuring queue %u for %u > descriptors", > - dev->data->port_id, idx, desc); > + dev->data->port_id, idx, *desc); > if (idx >=3D priv->txqs_n) { > DRV_LOG(ERR, "port %u Tx queue index out of range (%u >=3D > %u)", > dev->data->port_id, idx, priv->txqs_n); > @@ -213,7 +213,7 @@ > container_of(txq, struct mlx5_txq_ctrl, txq); > int res; >=20 > - res =3D mlx5_tx_queue_pre_setup(dev, idx, desc); > + res =3D mlx5_tx_queue_pre_setup(dev, idx, &desc); > if (res) > return res; > txq_ctrl =3D mlx5_txq_new(dev, idx, desc, socket, conf); > @@ -254,7 +254,7 @@ > container_of(txq, struct mlx5_txq_ctrl, txq); > int res; >=20 > - res =3D mlx5_tx_queue_pre_setup(dev, idx, desc); > + res =3D mlx5_tx_queue_pre_setup(dev, idx, &desc); > if (res) > return res; > if (hairpin_conf->peer_count !=3D 1 || > -- > 1.8.3.1 Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh