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

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Jun 15 03:32:12 CEST 2023


Hi,

FYI, your patch has been queued to stable release 20.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 06/17/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/67fbfd84f1d58f28f7190d17d923ba786c4a5b6d

Thanks.

Luca Boccassi

---
>From 67fbfd84f1d58f28f7190d17d923ba786c4a5b6d 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

[ 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/librte_eventdev/rte_event_timer_adapter.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
index fac32e2b2d..67b442ff44 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.c
+++ b/lib/librte_eventdev/rte_event_timer_adapter.c
@@ -765,17 +765,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;
+
 	return 0;
 }
 
-- 
2.39.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-06-15 01:56:35.657806496 +0100
+++ 0017-eventdev-timer-fix-buffer-flush.patch	2023-06-15 01:56:34.531540517 +0100
@@ -1 +1 @@
-From 53b97347cc84e8df53426c7917a4b65296264c02 Mon Sep 17 00:00:00 2001
+From 67fbfd84f1d58f28f7190d17d923ba786c4a5b6d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 53b97347cc84e8df53426c7917a4b65296264c02 ]
+
@@ -16 +17,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
- lib/eventdev/rte_event_timer_adapter.c | 17 +++++++++--------
+ lib/librte_eventdev/rte_event_timer_adapter.c | 17 +++++++++--------
@@ -23,5 +24,5 @@
-diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c
-index 23eb1d4a7d..427c4c6287 100644
---- a/lib/eventdev/rte_event_timer_adapter.c
-+++ b/lib/eventdev/rte_event_timer_adapter.c
-@@ -855,17 +855,18 @@ swtim_service_func(void *arg)
+diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
+index fac32e2b2d..67b442ff44 100644
+--- a/lib/librte_eventdev/rte_event_timer_adapter.c
++++ b/lib/librte_eventdev/rte_event_timer_adapter.c
+@@ -765,17 +765,18 @@ swtim_service_func(void *arg)
@@ -51,2 +52,2 @@
- 	rte_event_maintain(adapter->data->event_dev_id,
- 			   adapter->data->event_port_id, 0);
+ 	return 0;
+ }


More information about the stable mailing list