patch 'eventdev/timer: fix buffer flush' has been queued to stable release 22.11.3

Xueming Li xuemingl at nvidia.com
Sun Jun 25 08:34:00 CEST 2023


Hi,

FYI, your patch has been queued to stable release 22.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/27/23. 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://git.dpdk.org/dpdk-stable/log/?h=22.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=22.11-staging&id=cf79458fade2562b8062c87813de72580f35173c

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From cf79458fade2562b8062c87813de72580f35173c Mon Sep 17 00:00:00 2001
From: Erik Gabriel Carrillo <erik.g.carrillo at intel.com>
Date: Wed, 12 Apr 2023 14:56:37 -0500
Subject: [PATCH] eventdev/timer: fix buffer flush
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 53b97347cc84e8df53426c7917a4b65296264c02 ]

The SW event timer adapter attempts to flush its event buffer on every
adapter tick. If events remain in the buffer after the attempt, another
attempt to flush won't occur until the next adapter tick, which delays
the enqueue of those events to the event device unnecessarily.

Move the buffer flush call so that it happens with every invocation of
the service function, rather than on every adapter tick, to avoid the
delay.

Fixes: cc7b73ea9e3b ("eventdev: add new software timer adapter")

Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo at intel.com>
---
 lib/eventdev/rte_event_timer_adapter.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c
index b07b3837d5..a13ddce627 100644
--- a/lib/eventdev/rte_event_timer_adapter.c
+++ b/lib/eventdev/rte_event_timer_adapter.c
@@ -820,17 +820,18 @@ swtim_service_func(void *arg)
 				     sw->n_expired_timers);
 		sw->n_expired_timers = 0;
 
-		event_buffer_flush(&sw->buffer,
-				   adapter->data->event_dev_id,
-				   adapter->data->event_port_id,
-				   &nb_evs_flushed,
-				   &nb_evs_invalid);
-
-		sw->stats.ev_enq_count += nb_evs_flushed;
-		sw->stats.ev_inv_count += nb_evs_invalid;
 		sw->stats.adapter_tick_count++;
 	}
 
+	event_buffer_flush(&sw->buffer,
+			   adapter->data->event_dev_id,
+			   adapter->data->event_port_id,
+			   &nb_evs_flushed,
+			   &nb_evs_invalid);
+
+	sw->stats.ev_enq_count += nb_evs_flushed;
+	sw->stats.ev_inv_count += nb_evs_invalid;
+
 	rte_event_maintain(adapter->data->event_dev_id,
 			   adapter->data->event_port_id, 0);
 
-- 
2.25.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-06-25 14:31:59.135421500 +0800
+++ 0022-eventdev-timer-fix-buffer-flush.patch	2023-06-25 14:31:58.305773900 +0800
@@ -1 +1 @@
-From 53b97347cc84e8df53426c7917a4b65296264c02 Mon Sep 17 00:00:00 2001
+From cf79458fade2562b8062c87813de72580f35173c Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 53b97347cc84e8df53426c7917a4b65296264c02 ]
@@ -16 +18,0 @@
-Cc: stable at dpdk.org
@@ -24 +26 @@
-index 23eb1d4a7d..427c4c6287 100644
+index b07b3837d5..a13ddce627 100644
@@ -27 +29 @@
-@@ -855,17 +855,18 @@ swtim_service_func(void *arg)
+@@ -820,17 +820,18 @@ swtim_service_func(void *arg)


More information about the stable mailing list