[dpdk-dev] [PATCH] net/softnic: fix pipeline time calculation
Xiao Wang
xiao.w.wang at intel.com
Wed May 15 15:59:04 CEST 2019
When a new pipeline is added to a thread, the "time_next_min" value may
need update, otherwise this pipeline won't get served timely.
Fixes: 70709c78fda6 ("net/softnic: add command to enable/disable pipeline")
Cc: stable at dpdk.org
Signed-off-by: Xiao Wang <xiao.w.wang at intel.com>
---
drivers/net/softnic/rte_eth_softnic_thread.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/softnic/rte_eth_softnic_thread.c b/drivers/net/softnic/rte_eth_softnic_thread.c
index 855408e98..2b482117d 100644
--- a/drivers/net/softnic/rte_eth_softnic_thread.c
+++ b/drivers/net/softnic/rte_eth_softnic_thread.c
@@ -337,6 +337,9 @@ softnic_thread_pipeline_enable(struct pmd_internals *softnic,
tdp->timer_period = (rte_get_tsc_hz() * p->timer_period_ms) / 1000;
tdp->time_next = rte_get_tsc_cycles() + tdp->timer_period;
+ if (tdp->time_next < td->time_next_min)
+ td->time_next_min = tdp->time_next;
+
td->n_pipelines++;
/* Pipeline */
@@ -522,6 +525,9 @@ thread_msg_handle_pipeline_enable(struct softnic_thread_data *t,
(rte_get_tsc_hz() * req->pipeline_enable.timer_period_ms) / 1000;
p->time_next = rte_get_tsc_cycles() + p->timer_period;
+ if (p->time_next < t->time_next_min)
+ t->time_next_min = p->time_next;
+
t->n_pipelines++;
/* Response */
--
2.15.1
More information about the dev
mailing list