From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E24DB4624E for ; Mon, 17 Feb 2025 18:05:34 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DD985402AB; Mon, 17 Feb 2025 18:05:34 +0100 (CET) Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by mails.dpdk.org (Postfix) with ESMTP id 083AF402AB for ; Mon, 17 Feb 2025 18:05:34 +0100 (CET) Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4395dddb07dso47865355e9.2 for ; Mon, 17 Feb 2025 09:05:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739811933; x=1740416733; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Jb/0Oc/B7MMl0+hzkS/4D2J9nY/DMP/VK6adWV7A8mQ=; b=VNqwPgvKvotmx/kEI+bDXo5QOOzpOunQmy5Ej352YGCu+kpvAyIQfxZ1pGLmTgvZcq N2txkQIPRXRW/BoGIGwXQLWrfxKeXJa391amt+uIeyFOyrWPFIMzwO3Iyaff+lUN5gZH X/UXvlSSRLvjL6CazCCHnxm5u3mk26jrPNXLDJkh/3bs5XfuZi6gFeLbvygbtsy1dX3R rPEbrx+iNPtdxeWG7/cajPWg/21qnnmdnuQ1EvE/LEku8dLxY/Q8yDjsYloxD0ZhZNre MzsPej7BRx9ApwvbX3jucF8uirCiVREPgBNH3FIrXo2a2CU/boGI0xfz+pVeumcoXOwa ntNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739811933; x=1740416733; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Jb/0Oc/B7MMl0+hzkS/4D2J9nY/DMP/VK6adWV7A8mQ=; b=Phl8Y4dB5hna6uQvoM39zTN+O5lP12Sf59Yf9AVMxUg+e4dkV49uNor14nDh6elYKi LENOMl4kSrYDD1VW6d3FRfWMGz3y4CY5NFE2YlxjdBWrMzOEDHaCq20+kyqVzhnngT9D yNatPfIDXSmNHAdSZAxwq5R26sdguuQUf7TT2rd8P+jZgKXHK3WuA1hPE39jWxNjizzV db/oIqkHrl7ML3CGILI0I3lbcMGUnxsPIhWBI2R8t4tPqgoDto4UYVJpNgvKo56LkVMk PlPivZeeeFH8PpyKXQTbNt36wEJHHf7uLbM6UeYakYNWcxQTyHPlRZE8b1/FKkpH393e nALw== X-Forwarded-Encrypted: i=1; AJvYcCVNu/NyKukCMRVoMpaj7xw+nIWynDcccnocGiBVcuHjJPK9lNIzRhvpnNacA5wUpP3GM1Nt744=@dpdk.org X-Gm-Message-State: AOJu0YyroB0aJh0EXZWIdY1I0TkqT0AMTJZCIFG+Gs3ok2Yf2XjbtfuH lfjA+mWvop4CZlkYXI4fVGL5lI5Vx3n5q+xa/jOgPssihjPWfwyzyb/8LO4InUw= X-Gm-Gg: ASbGncunRnyiZMFf0WAbo/B6wtkswgCGABFTX/45cuHlOxnbHgAic6uX+bPtVULDRiX gYPyGDPBawip02iWX+tI4EnBCW6B0kSTJpYGR2WkN4cORAdF0QROmqi5m2oJxFzpN3ZkhfiAs0E ykmGdPSiYVm3G7mnStK8ZP1URcvgBXEyq9XT2lmDuZCemX59JdujsObC/Mx1UzBhMeyvI848TuV geJRMYBnQPRv4n67nvncc2GKLDpEABbbDwhwgNGsuZa5ri4h66rPwcd8KfotBUsY/x3QShgaW1O JrV++nY0MqGxl2OTN0nUcw== X-Google-Smtp-Source: AGHT+IE7ukXc1Yt+XXzKmqkzHDZFTqBBzJky8WMMjEZWmvdlarBOJcvTknPGJb9No7XlBy9MelxopA== X-Received: by 2002:a05:600c:1d26:b0:439:6a40:4860 with SMTP id 5b1f17b1804b1-4396e75cea1mr87285175e9.28.1739811933300; Mon, 17 Feb 2025 09:05:33 -0800 (PST) Received: from localhost ([2a01:4b00:d036:ae00:f83c:95e7:29fd:a997]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-439831f209bsm38052355e9.13.2025.02.17.09.05.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 09:05:32 -0800 (PST) From: luca.boccassi@gmail.com To: Gavin Hu Cc: Changqi Dingluo , Viacheslav Ovsiienko , dpdk stable Subject: patch 'net/mlx5: fix polling CQEs' has been queued to stable release 22.11.8 Date: Mon, 17 Feb 2025 17:03:45 +0000 Message-ID: <20250217170456.1068278-12-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250217170456.1068278-1-luca.boccassi@gmail.com> References: <20250217170456.1068278-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 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 Hi, FYI, your patch has been queued to stable release 22.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/19/25. 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/afbe03428db62e75c98afe1aa492b5d252fe8e56 Thanks. Luca Boccassi --- >From afbe03428db62e75c98afe1aa492b5d252fe8e56 Mon Sep 17 00:00:00 2001 From: Gavin Hu Date: Fri, 6 Dec 2024 02:58:11 +0200 Subject: [PATCH] net/mlx5: fix polling CQEs [ upstream commit 73f7ae1d721aa5c388123db11827937205985999 ] In certain situations, the receive queue (rxq) fails to replenish its internal ring with memory buffers (mbufs) from the pool. This can happen when the pool has a limited number of mbufs allocated, and the user application holds incoming packets for an extended period, resulting in a delayed release of mbufs. Consequently, the pool becomes depleted, preventing the rxq from replenishing from it. There was a bug in the behavior of the vectorized rxq_cq_process_v routine, which handled completion queue entries (CQEs) in batches of four. This routine consistently accessed four mbufs from the internal queue ring, regardless of whether they had been replenished. As a result, it could access mbufs that no longer belonged to the poll mode driver (PMD). The fix involves checking if there are four replenished mbufs available before allowing rxq_cq_process_v to handle the batch. Once replenishment succeeds during the polling process, the routine will resume its operation. Fixes: 1ded26239aa0 ("net/mlx5: refactor vectorized Rx") Reported-by: Changqi Dingluo Signed-off-by: Gavin Hu Acked-by: Viacheslav Ovsiienko --- .mailmap | 4 +++- drivers/net/mlx5/mlx5_rxtx_vec.c | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index df8e5c48ab..51c2bc9df3 100644 --- a/.mailmap +++ b/.mailmap @@ -200,6 +200,7 @@ Chaitanya Babu Talluri Chandubabu Namburu Changchun Ouyang Changpeng Liu +Changqi Dingluo Changqing Wu Chaoyong He Chao Zhu @@ -424,7 +425,8 @@ Gargi Sau Gary Mussar Gaurav Singh Gautam Dawar -Gavin Hu +Gavin Hu +Gavin Li Geoffrey Le GourriƩrec Geoffrey Lv Geoff Thorpe diff --git a/drivers/net/mlx5/mlx5_rxtx_vec.c b/drivers/net/mlx5/mlx5_rxtx_vec.c index 667475a93e..f37e9e104e 100644 --- a/drivers/net/mlx5/mlx5_rxtx_vec.c +++ b/drivers/net/mlx5/mlx5_rxtx_vec.c @@ -324,6 +324,9 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, /* Not to cross queue end. */ pkts_n = RTE_MIN(pkts_n, q_n - elts_idx); pkts_n = RTE_MIN(pkts_n, q_n - cq_idx); + /* Not to move past the allocated mbufs. */ + pkts_n = RTE_MIN(pkts_n, RTE_ALIGN_FLOOR(rxq->rq_ci - rxq->rq_pi, + MLX5_VPMD_DESCS_PER_LOOP)); if (!pkts_n) { *no_cq = !rcvd_pkt; return rcvd_pkt; -- 2.47.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-02-17 16:13:17.321175369 +0000 +++ 0012-net-mlx5-fix-polling-CQEs.patch 2025-02-17 16:13:16.794441593 +0000 @@ -1 +1 @@ -From 73f7ae1d721aa5c388123db11827937205985999 Mon Sep 17 00:00:00 2001 +From afbe03428db62e75c98afe1aa492b5d252fe8e56 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 73f7ae1d721aa5c388123db11827937205985999 ] + @@ -24 +25,0 @@ -Cc: stable@dpdk.org @@ -30 +31 @@ - .mailmap | 3 ++- + .mailmap | 4 +++- @@ -32 +33 @@ - 2 files changed, 5 insertions(+), 1 deletion(-) + 2 files changed, 6 insertions(+), 1 deletion(-) @@ -35 +36 @@ -index 38e511a28b..1ed47e1cad 100644 +index df8e5c48ab..51c2bc9df3 100644 @@ -38,2 +39,2 @@ -@@ -225,6 +225,7 @@ Chandubabu Namburu - Chang Miao +@@ -200,6 +200,7 @@ Chaitanya Babu Talluri + Chandubabu Namburu @@ -46 +47 @@ -@@ -465,7 +466,7 @@ Gargi Sau +@@ -424,7 +425,8 @@ Gargi Sau @@ -52 +53 @@ - Gavin Li ++Gavin Li @@ -54,0 +56 @@ + Geoff Thorpe @@ -56 +58 @@ -index 1872bf310c..1b701801c5 100644 +index 667475a93e..f37e9e104e 100644 @@ -59 +61 @@ -@@ -325,6 +325,9 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, +@@ -324,6 +324,9 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts,