* [dpdk-dev] [PATCH] examples/pipeline: make pipeline quanta configurable
@ 2021-02-19 14:26 Cristian Dumitrescu
2021-03-24 9:02 ` Thomas Monjalon
0 siblings, 1 reply; 2+ messages in thread
From: Cristian Dumitrescu @ 2021-02-19 14:26 UTC (permalink / raw)
To: dev
Make the pipeline instruction quanta configurable at build time.
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
examples/pipeline/thread.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/examples/pipeline/thread.c b/examples/pipeline/thread.c
index 6ac27e4eb..bf11e6144 100644
--- a/examples/pipeline/thread.c
+++ b/examples/pipeline/thread.c
@@ -30,6 +30,15 @@
#define THREAD_TIMER_PERIOD_MS 100
#endif
+/* Pipeline instruction quanta: Needs to be big enough to do some meaningful
+ * work, but not too big to avoid starving any other pipelines mapped to the
+ * same thread. For a pipeline that executes 10 instructions per packet, a
+ * quanta of 1000 instructions equates to processing 100 packets.
+ */
+#ifndef PIPELINE_INSTR_QUANTA
+#define PIPELINE_INSTR_QUANTA 1000
+#endif
+
/**
* Control thread: data plane thread context
*/
@@ -517,7 +526,7 @@ thread_main(void *arg __rte_unused)
/* Data Plane */
for (j = 0; j < t->n_pipelines; j++)
- rte_swx_pipeline_run(t->p[j], 1000000);
+ rte_swx_pipeline_run(t->p[j], PIPELINE_INSTR_QUANTA);
/* Control Plane */
if ((i & 0xF) == 0) {
--
2.17.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-03-24 9:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-19 14:26 [dpdk-dev] [PATCH] examples/pipeline: make pipeline quanta configurable Cristian Dumitrescu
2021-03-24 9:02 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).