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 0059DA0527 for ; Wed, 25 Nov 2020 10:03:12 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ECB31C952; Wed, 25 Nov 2020 10:03:11 +0100 (CET) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id 07222C968 for ; Wed, 25 Nov 2020 10:03:09 +0100 (CET) Received: by mail-wr1-f66.google.com with SMTP id l1so1080263wrb.9 for ; Wed, 25 Nov 2020 01:03:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MZyaE7WNCjkviaampqzEO+M8DZxvp9tqWpz46ZZhQQ0=; b=EPXwa+KPQIYJ/vnWrTNHp9zczMJWC0Mc4ipTfoJ7P0XtsKzva3KzjmQmjhkDlx52bF 527YOQdap8yzW2BQNvLvQThDysZHUTB7GjZZSfJjbFUVdEK1G2Ge3RtlegVTMjY7zkmr 5wHJDpmGFslzQmYZmIbeUkNn3NxlqumUs66QDzqfhHr5H5FvLmICXKu4puzMizZwaFBF U6RJWXRvMxC7gAKkEBw5sGtwUgxkxmKU0cBYLFbF3PO+oDZoOk2aDG86vHGNZYr4CdHA fTlRLushDauVF1oAdBoEEWyOTDz87Ulew815ZesnICRVDQtlfnjR6t8OgAK73gVv5DCO v+yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MZyaE7WNCjkviaampqzEO+M8DZxvp9tqWpz46ZZhQQ0=; b=LH6u8IxC3EVy5j0pPvJhzA+WhpfUqOgHcT2AI7mSvrLQACq1zllNQlGfyq4t6hpusN haDymbDEPQ3vwGKWgtWu878iRHbaPjza1EalIFcvXPZe0MmgSk9vNrY1VWhiHBfBvmbS XD/bD1ojSNAg59+8zt+UxnAQaP0JmZMijUcv8LZAh8pmfgfauLILYwN7UJBIlst10m9H QfqBT17YXuz+Oe/ADRJtCcqFqZRLWSoQVORSlC4WRc99Imfomu700cB1B+/HRYgNpItN vFUT6bXmayLXBJkFyoenD3VTck5fOlEvW8u5BR0/OdltJqhiUadbHPmvZ1OtJezOUduf NJPg== X-Gm-Message-State: AOAM533kEZzVNrn2gI4JbsNEjDBQI4ZWh5qECluafgIDcOHsyqHCjTXe cHd5a/CYkLyGa3Xa9xgrjr8= X-Google-Smtp-Source: ABdhPJwklLUMxBkL9a8EsKw3WJOMK3fDfoR6xUWJ84uH/WB8kYTG6gc2fl8/uyz7ZSeMMK+Uosv7eA== X-Received: by 2002:a05:6000:151:: with SMTP id r17mr2945033wrx.157.1606294987761; Wed, 25 Nov 2020 01:03:07 -0800 (PST) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id v189sm3554204wmg.14.2020.11.25.01.03.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Nov 2020 01:03:07 -0800 (PST) From: luca.boccassi@gmail.com To: Didier Pallard Cc: Maxime Leroy , Viacheslav Ovsiienko , dpdk stable Date: Wed, 25 Nov 2020 09:02:47 +0000 Message-Id: <20201125090258.21457-5-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20201125090258.21457-1-luca.boccassi@gmail.com> References: <20201117111416.1961049-42-luca.boccassi@gmail.com> <20201125090258.21457-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/mlx5: fix Rx descriptor status' has been queued to stable release 19.11.6 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, FYI, your patch has been queued to stable release 19.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/26/20. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/db0b497bd529dd264d7a4a2a7f5b6ab14ed5610a Thanks. Luca Boccassi --- >From db0b497bd529dd264d7a4a2a7f5b6ab14ed5610a Mon Sep 17 00:00:00 2001 From: Didier Pallard Date: Tue, 17 Nov 2020 12:26:47 +0100 Subject: [PATCH] net/mlx5: fix Rx descriptor status [ upstream commit 7c085d3a4a06b60cd04a408d7edf4e9382172a42 ] Three bugs in rx_queue_count function: - One entry may contain several segments, so 'used' must be multiplied by number of segments per entry to properly reflect the queue usage. - The number of cqes is equals to (1U << rxq->elts_n) - 1 in SPRQ mode. The range returned by rx_queue_count should be the number of entries used in queue, so it ranges from 0 to max number of entries in queue, not this number minus one. - For MPRQ mode, we need to take into account of the number of strd. Fixes: 8788fec1f269 ("net/mlx5: implement descriptor status API") Signed-off-by: Didier Pallard Signed-off-by: Maxime Leroy Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_rxtx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index 6e5605d37e..ac5c1868a0 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -469,6 +469,9 @@ rx_queue_count(struct mlx5_rxq_data *rxq) struct rxq_zip *zip = &rxq->zip; volatile struct mlx5_cqe *cqe; const unsigned int cqe_n = (1 << rxq->cqe_n); + const unsigned int sges_n = (1 << rxq->sges_n); + const unsigned int elts_n = (1 << rxq->elts_n); + const unsigned int strd_n = (1 << rxq->strd_num_n); const unsigned int cqe_cnt = cqe_n - 1; unsigned int cq_ci, used; @@ -494,7 +497,7 @@ rx_queue_count(struct mlx5_rxq_data *rxq) used += n; cqe = &(*rxq->cqes)[cq_ci & cqe_cnt]; } - used = RTE_MIN(used, cqe_n); + used = RTE_MIN(used * sges_n, elts_n * strd_n); return used; } -- 2.27.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-11-24 16:50:36.763174488 +0000 +++ 0005-net-mlx5-fix-Rx-descriptor-status.patch 2020-11-24 16:50:36.553495977 +0000 @@ -1 +1 @@ -From 7c085d3a4a06b60cd04a408d7edf4e9382172a42 Mon Sep 17 00:00:00 2001 +From db0b497bd529dd264d7a4a2a7f5b6ab14ed5610a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7c085d3a4a06b60cd04a408d7edf4e9382172a42 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -26 +27 @@ -index 2733dcd3ff..2ecf901fb1 100644 +index 6e5605d37e..ac5c1868a0 100644 @@ -29 +30 @@ -@@ -463,6 +463,9 @@ rx_queue_count(struct mlx5_rxq_data *rxq) +@@ -469,6 +469,9 @@ rx_queue_count(struct mlx5_rxq_data *rxq) @@ -39 +40 @@ -@@ -488,7 +491,7 @@ rx_queue_count(struct mlx5_rxq_data *rxq) +@@ -494,7 +497,7 @@ rx_queue_count(struct mlx5_rxq_data *rxq)