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 6934445DB9 for ; Wed, 27 Nov 2024 18:19:36 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 64B474066D; Wed, 27 Nov 2024 18:19:36 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 1D7C0402AB for ; Wed, 27 Nov 2024 18:19:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1732727974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YO1Volae54PE8FgNnwfS5L2oGu6jjkEKgu3sS0RRMuw=; b=QtZ7mvAwq9ECQC0N7g9ewZqGwg5vvjGuz1508ZNLimn2A/8PO01mJPLVtVdDZeOosdQV6x WhtoS1DtYN28F4NGQizdJ677iG7U8ubndZXGxzfq7vcY0Nz7x2J/ej1xUPL9bcBVYf0kM1 7Bukl83/Trw9TCNZgaZrCwocCu7luQA= Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-183-eCcaIb0nPUOxFWBeKZ29wQ-1; Wed, 27 Nov 2024 12:19:31 -0500 X-MC-Unique: eCcaIb0nPUOxFWBeKZ29wQ-1 X-Mimecast-MFC-AGG-ID: eCcaIb0nPUOxFWBeKZ29wQ Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id EB5531955F43; Wed, 27 Nov 2024 17:19:29 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.52]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id EE9A3300019E; Wed, 27 Nov 2024 17:19:27 +0000 (UTC) From: Kevin Traynor To: Chengwen Feng Cc: Chenxingyu Wang , Pavan Nikhilesh , dpdk stable Subject: patch 'examples/eventdev: fix queue crash with generic pipeline' has been queued to stable release 21.11.9 Date: Wed, 27 Nov 2024 17:17:10 +0000 Message-ID: <20241127171916.690404-3-ktraynor@redhat.com> In-Reply-To: <20241127171916.690404-1-ktraynor@redhat.com> References: <20241127171916.690404-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: ceWztEVu5ysaqJ06bNcu8TKF_LvljzceAvk086yI6ss_1732727970 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true 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 21.11.9 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/02/24. 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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/9b958487c786c0990c27114e72160d6af38fa252 Thanks. Kevin --- >From 9b958487c786c0990c27114e72160d6af38fa252 Mon Sep 17 00:00:00 2001 From: Chengwen Feng Date: Wed, 18 Sep 2024 06:41:42 +0000 Subject: [PATCH] examples/eventdev: fix queue crash with generic pipeline [ upstream commit f6f2307931c90d924405ea44b0b4be9d3d01bd17 ] There was a segmentation fault when executing eventdev_pipeline with command [1] with ConnectX-5 NIC card: 0x000000000079208c in rte_eth_tx_buffer (tx_pkt=0x16f8ed300, buffer=0x100, queue_id=11, port_id=0) at ../lib/ethdev/rte_ethdev.h:6636 txa_service_tx (txa=0x17b19d080, ev=0xffffffffe500, n=4) at ../lib/eventdev/rte_event_eth_tx_adapter.c:631 0x0000000000792234 in txa_service_func (args=0x17b19d080) at ../lib/eventdev/rte_event_eth_tx_adapter.c:666 0x00000000008b0784 in service_runner_do_callback (s=0x17fffe100, cs=0x17ffb5f80, service_idx=2) at ../lib/eal/common/rte_service.c:405 0x00000000008b0ad8 in service_run (i=2, cs=0x17ffb5f80, service_mask=18446744073709551615, s=0x17fffe100, serialize_mt_unsafe=0) at ../lib/eal/common/rte_service.c:441 0x00000000008b0c68 in rte_service_run_iter_on_app_lcore (id=2, serialize_mt_unsafe=0) at ../lib/eal/common/rte_service.c:477 0x000000000057bcc4 in schedule_devices (lcore_id=0) at ../examples/eventdev_pipeline/pipeline_common.h:138 0x000000000057ca94 in worker_generic_burst (arg=0x17b131e80) at ../examples/eventdev_pipeline/ pipeline_worker_generic.c:83 0x00000000005794a8 in main (argc=11, argv=0xfffffffff470) at ../examples/eventdev_pipeline/main.c:449 The root cause is that the queue_id (11) is invalid, the queue_id comes from mbuf.hash.txadapter.txq which may pre-write by NIC driver when receiving packets (e.g. pre-write mbuf.hash.fdir.hi field). Because this example only enabled one ethdev queue, so fixes it by reset txq to zero in the first worker stage. [1] dpdk-eventdev_pipeline -l 0-48 --vdev event_sw0 -- -r1 -t1 -e1 -w ff0 -s5 -n0 -c32 -W1000 -D When launch eventdev_pipeline with command [1], event_sw Fixes: 81fb40f95c82 ("examples/eventdev: add generic worker pipeline") Signed-off-by: Chengwen Feng Signed-off-by: Chenxingyu Wang Acked-by: Pavan Nikhilesh --- .mailmap | 1 + examples/eventdev_pipeline/pipeline_worker_generic.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.mailmap b/.mailmap index 29ff02261c..d1b9f266b5 100644 --- a/.mailmap +++ b/.mailmap @@ -214,4 +214,5 @@ Chengwen Feng Chenmin Sun Chenming Chang +Chenxingyu Wang Chenxu Di Cheryl Houser diff --git a/examples/eventdev_pipeline/pipeline_worker_generic.c b/examples/eventdev_pipeline/pipeline_worker_generic.c index ce1e92d59e..ea0337f9c1 100644 --- a/examples/eventdev_pipeline/pipeline_worker_generic.c +++ b/examples/eventdev_pipeline/pipeline_worker_generic.c @@ -37,8 +37,10 @@ worker_generic(void *arg) received++; - /* The first worker stage does classification */ - if (ev.queue_id == cdata.qid[0]) + /* The first worker stage does classification and sets txq. */ + if (ev.queue_id == cdata.qid[0]) { ev.flow_id = ev.mbuf->hash.rss % cdata.num_fids; + rte_event_eth_tx_adapter_txq_set(ev.mbuf, 0); + } ev.queue_id = cdata.next_qid[ev.queue_id]; @@ -93,8 +95,10 @@ worker_generic_burst(void *arg) for (i = 0; i < nb_rx; i++) { - /* The first worker stage does classification */ - if (events[i].queue_id == cdata.qid[0]) + /* The first worker stage does classification and sets txq. */ + if (events[i].queue_id == cdata.qid[0]) { events[i].flow_id = events[i].mbuf->hash.rss % cdata.num_fids; + rte_event_eth_tx_adapter_txq_set(events[i].mbuf, 0); + } events[i].queue_id = cdata.next_qid[events[i].queue_id]; -- 2.47.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-11-27 17:17:38.441583869 +0000 +++ 0003-examples-eventdev-fix-queue-crash-with-generic-pipel.patch 2024-11-27 17:17:38.149268979 +0000 @@ -1 +1 @@ -From f6f2307931c90d924405ea44b0b4be9d3d01bd17 Mon Sep 17 00:00:00 2001 +From 9b958487c786c0990c27114e72160d6af38fa252 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit f6f2307931c90d924405ea44b0b4be9d3d01bd17 ] + @@ -46 +47,0 @@ -Cc: stable@dpdk.org @@ -57 +58 @@ -index 94fa73aa36..8a832ba4be 100644 +index 29ff02261c..d1b9f266b5 100644 @@ -60 +61 @@ -@@ -237,4 +237,5 @@ Chengwen Feng +@@ -214,4 +214,5 @@ Chengwen Feng @@ -65 +66 @@ - Chenyu Huang + Cheryl Houser @@ -67 +68 @@ -index 783f68c91e..831d7fd53d 100644 +index ce1e92d59e..ea0337f9c1 100644 @@ -70 +71 @@ -@@ -39,8 +39,10 @@ worker_generic(void *arg) +@@ -37,8 +37,10 @@ worker_generic(void *arg) @@ -83 +84 @@ -@@ -97,8 +99,10 @@ worker_generic_burst(void *arg) +@@ -93,8 +95,10 @@ worker_generic_burst(void *arg)