aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2024-03-01 10:26:47 +0200
committerMatias Elo <matias.elo@nokia.com>2024-03-11 15:03:05 +0200
commit852c569e0c5c4217f31edac1119ce914dcdcfeda (patch)
treea014c9f768755f2787644b1417936b9a063838d4
parent38f1fda41c164e4f107f5b3f06258b2e679bbea9 (diff)
Port 22c7067de "linux-gen: timer: allow forcing a scan in _odp_timer_run_inline()"
Port original commit from linux-generic. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
-rw-r--r--platform/linux-dpdk/include/odp_timer_internal.h6
-rw-r--r--platform/linux-dpdk/odp_timer.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/platform/linux-dpdk/include/odp_timer_internal.h b/platform/linux-dpdk/include/odp_timer_internal.h
index 4d7efedd6..35a4911af 100644
--- a/platform/linux-dpdk/include/odp_timer_internal.h
+++ b/platform/linux-dpdk/include/odp_timer_internal.h
@@ -26,6 +26,12 @@
#include <stdint.h>
+/*
+ * Use as the argument to timer_run() to force a scan and to ignore rate
+ * limit.
+ */
+#define TIMER_SCAN_FORCE INT32_MAX
+
/**
* Internal Timeout header
*/
diff --git a/platform/linux-dpdk/odp_timer.c b/platform/linux-dpdk/odp_timer.c
index e01a541ad..f4c190aad 100644
--- a/platform/linux-dpdk/odp_timer.c
+++ b/platform/linux-dpdk/odp_timer.c
@@ -438,7 +438,7 @@ int _odp_timer_term_local(void)
void _odp_timer_run_inline(int dec)
{
- int poll_interval = timer_global->poll_interval;
+ int poll_interval = (dec == TIMER_SCAN_FORCE) ? 0 : timer_global->poll_interval;
odp_time_t now;
int ret;