DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started
@ 2019-02-27 20:00 Pavan Nikhilesh Bhagavatula
  2019-02-27 20:00 ` [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-02-27 20:00 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran; +Cc: john.mcnamara, dev, Pavan Nikhilesh Bhagavatula

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Start event producers after eventdev i.e. consumer is started as in some
architectures it might lead to undefined behaviour or events being
dropped.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 app/test-eventdev/test_perf_atq.c       | 31 +++++++++++++++++++++++++
 app/test-eventdev/test_perf_common.c    | 21 -----------------
 app/test-eventdev/test_perf_queue.c     | 31 +++++++++++++++++++++++++
 app/test-eventdev/test_pipeline_atq.c   | 13 ++++++-----
 app/test-eventdev/test_pipeline_queue.c | 13 ++++++-----
 5 files changed, 76 insertions(+), 33 deletions(-)

diff --git a/app/test-eventdev/test_perf_atq.c b/app/test-eventdev/test_perf_atq.c
index b76ca605b..73f31e564 100644
--- a/app/test-eventdev/test_perf_atq.c
+++ b/app/test-eventdev/test_perf_atq.c
@@ -157,7 +157,9 @@ perf_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 	uint8_t queue;
 	uint8_t nb_queues;
 	uint8_t nb_ports;
+	uint16_t prod;
 	struct rte_event_dev_info dev_info;
+	struct test_perf *t = evt_test_priv(test);
 
 	nb_ports = evt_nr_active_lcores(opt->wlcores);
 	nb_ports += (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ||
@@ -236,6 +238,35 @@ perf_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		return ret;
 	}
 
+	if (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR) {
+		RTE_ETH_FOREACH_DEV(prod) {
+			ret = rte_eth_dev_start(prod);
+			if (ret) {
+				evt_err("Ethernet dev [%d] failed to start. Using synthetic producer",
+						prod);
+				return ret;
+			}
+
+			ret = rte_event_eth_rx_adapter_start(prod);
+			if (ret) {
+				evt_err("Rx adapter[%d] start failed", prod);
+				return ret;
+			}
+			printf("%s: Port[%d] using Rx adapter[%d] started\n",
+					__func__, prod, prod);
+		}
+	} else if (opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR) {
+		for (prod = 0; prod < opt->nb_timer_adptrs; prod++) {
+			ret = rte_event_timer_adapter_start(
+					t->timer_adptr[prod]);
+			if (ret) {
+				evt_err("failed to Start event timer adapter %d"
+						, prod);
+				return ret;
+			}
+		}
+	}
+
 	return 0;
 }
 
diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c
index f99a6a607..24ece75c3 100644
--- a/app/test-eventdev/test_perf_common.c
+++ b/app/test-eventdev/test_perf_common.c
@@ -393,21 +393,6 @@ perf_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride,
 				return ret;
 			}
 		}
-
-		ret = rte_eth_dev_start(prod);
-		if (ret) {
-			evt_err("Ethernet dev [%d] failed to start."
-					" Using synthetic producer", prod);
-			return ret;
-		}
-
-		ret = rte_event_eth_rx_adapter_start(prod);
-		if (ret) {
-			evt_err("Rx adapter[%d] start failed", prod);
-			return ret;
-		}
-		printf("%s: Port[%d] using Rx adapter[%d] started\n", __func__,
-				prod, prod);
 	}
 
 	return ret;
@@ -461,12 +446,6 @@ perf_event_timer_adapter_setup(struct test_perf *t)
 			}
 			rte_service_runstate_set(service_id, 1);
 		}
-
-		ret = rte_event_timer_adapter_start(wl);
-		if (ret) {
-			evt_err("failed to Start event timer adapter %d", i);
-			return ret;
-		}
 		t->timer_adptr[i] = wl;
 	}
 	return 0;
diff --git a/app/test-eventdev/test_perf_queue.c b/app/test-eventdev/test_perf_queue.c
index 8efdec6f9..d89491364 100644
--- a/app/test-eventdev/test_perf_queue.c
+++ b/app/test-eventdev/test_perf_queue.c
@@ -158,7 +158,9 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 	int ret;
 	int nb_ports;
 	int nb_queues;
+	uint16_t prod;
 	struct rte_event_dev_info dev_info;
+	struct test_perf *t = evt_test_priv(test);
 
 	nb_ports = evt_nr_active_lcores(opt->wlcores);
 	nb_ports += opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ||
@@ -251,6 +253,35 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		return ret;
 	}
 
+	if (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR) {
+		RTE_ETH_FOREACH_DEV(prod) {
+			ret = rte_eth_dev_start(prod);
+			if (ret) {
+				evt_err("Ethernet dev [%d] failed to start. Using synthetic producer",
+						prod);
+				return ret;
+			}
+
+			ret = rte_event_eth_rx_adapter_start(prod);
+			if (ret) {
+				evt_err("Rx adapter[%d] start failed", prod);
+				return ret;
+			}
+			printf("%s: Port[%d] using Rx adapter[%d] started\n",
+					__func__, prod, prod);
+		}
+	} else if (opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR) {
+		for (prod = 0; prod < opt->nb_timer_adptrs; prod++) {
+			ret = rte_event_timer_adapter_start(
+					t->timer_adptr[prod]);
+			if (ret) {
+				evt_err("failed to Start event timer adapter %d"
+						, prod);
+				return ret;
+			}
+		}
+	}
+
 	return 0;
 }
 
diff --git a/app/test-eventdev/test_pipeline_atq.c b/app/test-eventdev/test_pipeline_atq.c
index fc4cb3bb7..998a56cfd 100644
--- a/app/test-eventdev/test_pipeline_atq.c
+++ b/app/test-eventdev/test_pipeline_atq.c
@@ -442,6 +442,13 @@ pipeline_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
+	ret = rte_event_dev_start(opt->dev_id);
+	if (ret) {
+		evt_err("failed to start eventdev %d", opt->dev_id);
+		return ret;
+	}
+
+
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_eth_dev_start(prod);
 		if (ret) {
@@ -451,12 +458,6 @@ pipeline_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
-	ret = rte_event_dev_start(opt->dev_id);
-	if (ret) {
-		evt_err("failed to start eventdev %d", opt->dev_id);
-		return ret;
-	}
-
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_event_eth_rx_adapter_start(prod);
 		if (ret) {
diff --git a/app/test-eventdev/test_pipeline_queue.c b/app/test-eventdev/test_pipeline_queue.c
index e35e9eb4c..7da89dad5 100644
--- a/app/test-eventdev/test_pipeline_queue.c
+++ b/app/test-eventdev/test_pipeline_queue.c
@@ -456,6 +456,13 @@ pipeline_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
+	ret = rte_event_dev_start(opt->dev_id);
+	if (ret) {
+		evt_err("failed to start eventdev %d", opt->dev_id);
+		return ret;
+	}
+
+
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_eth_dev_start(prod);
 		if (ret) {
@@ -466,12 +473,6 @@ pipeline_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 
 	}
 
-	ret = rte_event_dev_start(opt->dev_id);
-	if (ret) {
-		evt_err("failed to start eventdev %d", opt->dev_id);
-		return ret;
-	}
-
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_event_eth_rx_adapter_start(prod);
 		if (ret) {
-- 
2.21.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency
  2019-02-27 20:00 [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started Pavan Nikhilesh Bhagavatula
@ 2019-02-27 20:00 ` Pavan Nikhilesh Bhagavatula
  2019-03-05 15:15   ` Jerin Jacob Kollanukkaran
  2019-03-08 18:24 ` [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started Jerin Jacob Kollanukkaran
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 18+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-02-27 20:00 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran; +Cc: john.mcnamara, dev, Pavan Nikhilesh Bhagavatula

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

EventDev i.e consumer needs to be started before starting the
event producers.
Update documentation of EventDev and EventDev adapters.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
 doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
 doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
 doc/guides/prog_guide/eventdev.rst                  | 5 +++++
 4 files changed, 20 insertions(+)

diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst b/doc/guides/prog_guide/event_crypto_adapter.rst
index 9fe09c805..1e3eb7139 100644
--- a/doc/guides/prog_guide/event_crypto_adapter.rst
+++ b/doc/guides/prog_guide/event_crypto_adapter.rst
@@ -286,6 +286,11 @@ service function if one exists.
 
         rte_event_crypto_adapter_start(id, mode);
 
+.. Note::
+
+         The eventdev to which the event_crypto_adapter is connected needs to
+         be started before calling rte_event_crypto_adapter_start().
+
 Get adapter statistics
 ~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
index 0166bb45d..e95529974 100644
--- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
+++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
@@ -135,6 +135,11 @@ This function calls the start callbacks of the eventdev PMDs for hardware based
 eventdev-ethdev connections and ``rte_service_run_state_set()`` to enable the
 service function if one exists.
 
+.. Note::
+
+         The eventdev to which the event_eth_rx_adapter is connected needs to
+         be started before calling rte_event_eth_rx_adapter_start().
+
 Getting Adapter Statistics
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/doc/guides/prog_guide/event_timer_adapter.rst b/doc/guides/prog_guide/event_timer_adapter.rst
index 3b4446ee9..eb195ebd4 100644
--- a/doc/guides/prog_guide/event_timer_adapter.rst
+++ b/doc/guides/prog_guide/event_timer_adapter.rst
@@ -179,6 +179,11 @@ running the event timer adapter. This function calls the start entry points
 defined by eventdev PMDs for hardware implementations or puts a service
 component into the running state in the software implementation.
 
+.. Note::
+
+         The eventdev to which the event_timer_adapter is connected needs to
+         be started before calling rte_event_timer_adapter_start().
+
 Arming Event Timers
 ~~~~~~~~~~~~~~~~~~~
 
diff --git a/doc/guides/prog_guide/eventdev.rst b/doc/guides/prog_guide/eventdev.rst
index 8fcae5469..dcdfeb75e 100644
--- a/doc/guides/prog_guide/eventdev.rst
+++ b/doc/guides/prog_guide/eventdev.rst
@@ -296,6 +296,11 @@ eventdev.
 
         int err = rte_event_dev_start(dev_id);
 
+.. Note::
+
+         EventDev needs to be started before starting the event producers such
+         as event_eth_rx_adapter, event_timer_adapter and event_crypto_adapter.
+
 Ingress of New Events
 ~~~~~~~~~~~~~~~~~~~~~
 
-- 
2.21.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency
  2019-02-27 20:00 ` [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
@ 2019-03-05 15:15   ` Jerin Jacob Kollanukkaran
  2019-03-05 23:52     ` Carrillo, Erik G
  2019-03-06  5:32     ` Gujjar, Abhinandan S
  0 siblings, 2 replies; 18+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-03-05 15:15 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: john.mcnamara, nikhil.rao, erik.g.carrillo, abhinandan.gujjar, dev

On Wed, 2019-02-27 at 20:00 +0000, Pavan Nikhilesh Bhagavatula wrote:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> EventDev i.e consumer needs to be started before starting the
> event producers.
> Update documentation of EventDev and EventDev adapters.
> 


Adding all the eventdev adapter maintainers for the feedback.
It looks good to me as it is an natural flow(i.e
we need to start eventdev first to consume the adapter events)


> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
>  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
>  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
>  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
>  4 files changed, 20 insertions(+)
> 
> diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst
> b/doc/guides/prog_guide/event_crypto_adapter.rst
> index 9fe09c805..1e3eb7139 100644
> --- a/doc/guides/prog_guide/event_crypto_adapter.rst
> +++ b/doc/guides/prog_guide/event_crypto_adapter.rst
> @@ -286,6 +286,11 @@ service function if one exists.
>  
>          rte_event_crypto_adapter_start(id, mode);
>  
> +.. Note::
> +
> +         The eventdev to which the event_crypto_adapter is connected
> needs to
> +         be started before calling rte_event_crypto_adapter_start().


IMO, It is better to add @note under the all the *_adapter_start() APIs
to capture the notes on doxygen. 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency
  2019-03-05 15:15   ` Jerin Jacob Kollanukkaran
@ 2019-03-05 23:52     ` Carrillo, Erik G
  2019-03-06  5:32     ` Gujjar, Abhinandan S
  1 sibling, 0 replies; 18+ messages in thread
From: Carrillo, Erik G @ 2019-03-05 23:52 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, Pavan Nikhilesh Bhagavatula
  Cc: Mcnamara, John, Rao, Nikhil, Gujjar, Abhinandan S, dev

> -----Original Message-----
> From: Jerin Jacob Kollanukkaran [mailto:jerinj@marvell.com]
> Sent: Tuesday, March 5, 2019 9:16 AM
> To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> Cc: Mcnamara, John <john.mcnamara@intel.com>; Rao, Nikhil
> <nikhil.rao@intel.com>; Carrillo, Erik G <erik.g.carrillo@intel.com>; Gujjar,
> Abhinandan S <abhinandan.gujjar@intel.com>; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev
> producer consumer dependency
> 
> On Wed, 2019-02-27 at 20:00 +0000, Pavan Nikhilesh Bhagavatula wrote:
> > From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >
> > EventDev i.e consumer needs to be started before starting the event
> > producers.
> > Update documentation of EventDev and EventDev adapters.
> >
> 
> 
> Adding all the eventdev adapter maintainers for the feedback.
> It looks good to me as it is an natural flow(i.e we need to start eventdev first
> to consume the adapter events)
> 
> 
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > ---
> >  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
> >  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
> >  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
> >  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
> >  4 files changed, 20 insertions(+)
> >
> > diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst
> > b/doc/guides/prog_guide/event_crypto_adapter.rst
> > index 9fe09c805..1e3eb7139 100644
> > --- a/doc/guides/prog_guide/event_crypto_adapter.rst
> > +++ b/doc/guides/prog_guide/event_crypto_adapter.rst
> > @@ -286,6 +286,11 @@ service function if one exists.
> >
> >          rte_event_crypto_adapter_start(id, mode);
> >
> > +.. Note::
> > +
> > +         The eventdev to which the event_crypto_adapter is connected
> > needs to
> > +         be started before calling rte_event_crypto_adapter_start().
> 
> 
> IMO, It is better to add @note under the all the *_adapter_start() APIs to
> capture the notes on doxygen.

I agree that a @note under the *_adapter_start() APIs would be more discoverable, or perhaps it could be mentioned in both places.  Looks good otherwise.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency
  2019-03-05 15:15   ` Jerin Jacob Kollanukkaran
  2019-03-05 23:52     ` Carrillo, Erik G
@ 2019-03-06  5:32     ` Gujjar, Abhinandan S
  1 sibling, 0 replies; 18+ messages in thread
From: Gujjar, Abhinandan S @ 2019-03-06  5:32 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, Pavan Nikhilesh Bhagavatula
  Cc: Mcnamara, John, Rao, Nikhil, Carrillo, Erik G, dev


> -----Original Message-----
> From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Sent: Tuesday, March 5, 2019 8:46 PM
> To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> Cc: Mcnamara, John <john.mcnamara@intel.com>; Rao, Nikhil
> <nikhil.rao@intel.com>; Carrillo, Erik G <erik.g.carrillo@intel.com>; Gujjar,
> Abhinandan S <abhinandan.gujjar@intel.com>; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev
> producer consumer dependency
> 
> On Wed, 2019-02-27 at 20:00 +0000, Pavan Nikhilesh Bhagavatula wrote:
> > From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >
> > EventDev i.e consumer needs to be started before starting the event
> > producers.
> > Update documentation of EventDev and EventDev adapters.
> >
> 
> 
> Adding all the eventdev adapter maintainers for the feedback.
> It looks good to me as it is an natural flow(i.e we need to start eventdev first to
> consume the adapter events)
> 
> 
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > ---
> >  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
> >  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
> >  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
> >  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
> >  4 files changed, 20 insertions(+)
> >
> > diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst
> > b/doc/guides/prog_guide/event_crypto_adapter.rst
> > index 9fe09c805..1e3eb7139 100644
> > --- a/doc/guides/prog_guide/event_crypto_adapter.rst
> > +++ b/doc/guides/prog_guide/event_crypto_adapter.rst
> > @@ -286,6 +286,11 @@ service function if one exists.
> >
> >          rte_event_crypto_adapter_start(id, mode);
> >
> > +.. Note::
> > +
> > +         The eventdev to which the event_crypto_adapter is connected
> > needs to
> > +         be started before calling rte_event_crypto_adapter_start().
> 
> 
> IMO, It is better to add @note under the all the *_adapter_start() APIs to
> capture the notes on doxygen.

Looks good to me.

-Abhinandan

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started
  2019-02-27 20:00 [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started Pavan Nikhilesh Bhagavatula
  2019-02-27 20:00 ` [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
@ 2019-03-08 18:24 ` Jerin Jacob Kollanukkaran
  2019-03-11  7:59 ` [dpdk-dev] [PATCH v2 1/2] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
  2019-03-12 20:41 ` [dpdk-dev] [PATCH v3 1/3] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
  3 siblings, 0 replies; 18+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-03-08 18:24 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula; +Cc: john.mcnamara, dev

On Wed, 2019-02-27 at 20:00 +0000, Pavan Nikhilesh Bhagavatula wrote:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Start event producers after eventdev i.e. consumer is started as in
> some
> architectures it might lead to undefined behaviour or events being
> dropped.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---

Change looks good to me. Please send v2 for with following changes

1) Please fix the following ./devtools/check-git-log.sh issue

Headline too long:
	app/eventdev: start event producers after eventdev is started

2) Fix documentation in 2/2 patch

With above changes:

Reviewed-by: Jerin Jacob <jerinj@marvell.com>




^ permalink raw reply	[flat|nested] 18+ messages in thread

* [dpdk-dev] [PATCH v2 1/2] app/eventdev: start event producers after eventdev
  2019-02-27 20:00 [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started Pavan Nikhilesh Bhagavatula
  2019-02-27 20:00 ` [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
  2019-03-08 18:24 ` [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started Jerin Jacob Kollanukkaran
@ 2019-03-11  7:59 ` Pavan Nikhilesh Bhagavatula
  2019-03-11  7:59   ` [dpdk-dev] [PATCH v2 2/2] doc: add notes about eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
  2019-03-12 20:41 ` [dpdk-dev] [PATCH v3 1/3] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
  3 siblings, 1 reply; 18+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-03-11  7:59 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, nikhil.rao, erik.g.carrillo,
	abhinandan.gujjar, john.mcnamara
  Cc: dev, Pavan Nikhilesh Bhagavatula

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Start event producers after eventdev i.e. consumer is started as in some
architectures it might lead to undefined behaviour or events being
dropped.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
---
 app/test-eventdev/test_perf_atq.c       | 31 +++++++++++++++++++++++++
 app/test-eventdev/test_perf_common.c    | 21 -----------------
 app/test-eventdev/test_perf_queue.c     | 31 +++++++++++++++++++++++++
 app/test-eventdev/test_pipeline_atq.c   | 13 ++++++-----
 app/test-eventdev/test_pipeline_queue.c | 13 ++++++-----
 5 files changed, 76 insertions(+), 33 deletions(-)

diff --git a/app/test-eventdev/test_perf_atq.c b/app/test-eventdev/test_perf_atq.c
index b76ca605b..73f31e564 100644
--- a/app/test-eventdev/test_perf_atq.c
+++ b/app/test-eventdev/test_perf_atq.c
@@ -157,7 +157,9 @@ perf_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 	uint8_t queue;
 	uint8_t nb_queues;
 	uint8_t nb_ports;
+	uint16_t prod;
 	struct rte_event_dev_info dev_info;
+	struct test_perf *t = evt_test_priv(test);
 
 	nb_ports = evt_nr_active_lcores(opt->wlcores);
 	nb_ports += (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ||
@@ -236,6 +238,35 @@ perf_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		return ret;
 	}
 
+	if (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR) {
+		RTE_ETH_FOREACH_DEV(prod) {
+			ret = rte_eth_dev_start(prod);
+			if (ret) {
+				evt_err("Ethernet dev [%d] failed to start. Using synthetic producer",
+						prod);
+				return ret;
+			}
+
+			ret = rte_event_eth_rx_adapter_start(prod);
+			if (ret) {
+				evt_err("Rx adapter[%d] start failed", prod);
+				return ret;
+			}
+			printf("%s: Port[%d] using Rx adapter[%d] started\n",
+					__func__, prod, prod);
+		}
+	} else if (opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR) {
+		for (prod = 0; prod < opt->nb_timer_adptrs; prod++) {
+			ret = rte_event_timer_adapter_start(
+					t->timer_adptr[prod]);
+			if (ret) {
+				evt_err("failed to Start event timer adapter %d"
+						, prod);
+				return ret;
+			}
+		}
+	}
+
 	return 0;
 }
 
diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c
index f99a6a607..24ece75c3 100644
--- a/app/test-eventdev/test_perf_common.c
+++ b/app/test-eventdev/test_perf_common.c
@@ -393,21 +393,6 @@ perf_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride,
 				return ret;
 			}
 		}
-
-		ret = rte_eth_dev_start(prod);
-		if (ret) {
-			evt_err("Ethernet dev [%d] failed to start."
-					" Using synthetic producer", prod);
-			return ret;
-		}
-
-		ret = rte_event_eth_rx_adapter_start(prod);
-		if (ret) {
-			evt_err("Rx adapter[%d] start failed", prod);
-			return ret;
-		}
-		printf("%s: Port[%d] using Rx adapter[%d] started\n", __func__,
-				prod, prod);
 	}
 
 	return ret;
@@ -461,12 +446,6 @@ perf_event_timer_adapter_setup(struct test_perf *t)
 			}
 			rte_service_runstate_set(service_id, 1);
 		}
-
-		ret = rte_event_timer_adapter_start(wl);
-		if (ret) {
-			evt_err("failed to Start event timer adapter %d", i);
-			return ret;
-		}
 		t->timer_adptr[i] = wl;
 	}
 	return 0;
diff --git a/app/test-eventdev/test_perf_queue.c b/app/test-eventdev/test_perf_queue.c
index 8efdec6f9..d89491364 100644
--- a/app/test-eventdev/test_perf_queue.c
+++ b/app/test-eventdev/test_perf_queue.c
@@ -158,7 +158,9 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 	int ret;
 	int nb_ports;
 	int nb_queues;
+	uint16_t prod;
 	struct rte_event_dev_info dev_info;
+	struct test_perf *t = evt_test_priv(test);
 
 	nb_ports = evt_nr_active_lcores(opt->wlcores);
 	nb_ports += opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ||
@@ -251,6 +253,35 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		return ret;
 	}
 
+	if (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR) {
+		RTE_ETH_FOREACH_DEV(prod) {
+			ret = rte_eth_dev_start(prod);
+			if (ret) {
+				evt_err("Ethernet dev [%d] failed to start. Using synthetic producer",
+						prod);
+				return ret;
+			}
+
+			ret = rte_event_eth_rx_adapter_start(prod);
+			if (ret) {
+				evt_err("Rx adapter[%d] start failed", prod);
+				return ret;
+			}
+			printf("%s: Port[%d] using Rx adapter[%d] started\n",
+					__func__, prod, prod);
+		}
+	} else if (opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR) {
+		for (prod = 0; prod < opt->nb_timer_adptrs; prod++) {
+			ret = rte_event_timer_adapter_start(
+					t->timer_adptr[prod]);
+			if (ret) {
+				evt_err("failed to Start event timer adapter %d"
+						, prod);
+				return ret;
+			}
+		}
+	}
+
 	return 0;
 }
 
diff --git a/app/test-eventdev/test_pipeline_atq.c b/app/test-eventdev/test_pipeline_atq.c
index fc4cb3bb7..998a56cfd 100644
--- a/app/test-eventdev/test_pipeline_atq.c
+++ b/app/test-eventdev/test_pipeline_atq.c
@@ -442,6 +442,13 @@ pipeline_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
+	ret = rte_event_dev_start(opt->dev_id);
+	if (ret) {
+		evt_err("failed to start eventdev %d", opt->dev_id);
+		return ret;
+	}
+
+
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_eth_dev_start(prod);
 		if (ret) {
@@ -451,12 +458,6 @@ pipeline_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
-	ret = rte_event_dev_start(opt->dev_id);
-	if (ret) {
-		evt_err("failed to start eventdev %d", opt->dev_id);
-		return ret;
-	}
-
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_event_eth_rx_adapter_start(prod);
 		if (ret) {
diff --git a/app/test-eventdev/test_pipeline_queue.c b/app/test-eventdev/test_pipeline_queue.c
index e35e9eb4c..7da89dad5 100644
--- a/app/test-eventdev/test_pipeline_queue.c
+++ b/app/test-eventdev/test_pipeline_queue.c
@@ -456,6 +456,13 @@ pipeline_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
+	ret = rte_event_dev_start(opt->dev_id);
+	if (ret) {
+		evt_err("failed to start eventdev %d", opt->dev_id);
+		return ret;
+	}
+
+
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_eth_dev_start(prod);
 		if (ret) {
@@ -466,12 +473,6 @@ pipeline_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 
 	}
 
-	ret = rte_event_dev_start(opt->dev_id);
-	if (ret) {
-		evt_err("failed to start eventdev %d", opt->dev_id);
-		return ret;
-	}
-
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_event_eth_rx_adapter_start(prod);
 		if (ret) {
-- 
2.21.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] doc: add notes about eventdev producer consumer dependency
  2019-03-11  7:59 ` [dpdk-dev] [PATCH v2 1/2] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
@ 2019-03-11  7:59   ` Pavan Nikhilesh Bhagavatula
  0 siblings, 0 replies; 18+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-03-11  7:59 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, nikhil.rao, erik.g.carrillo,
	abhinandan.gujjar, john.mcnamara
  Cc: dev, Pavan Nikhilesh Bhagavatula

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

EventDev i.e consumer needs to be started before starting the
event producers.
Update documentation of EventDev and EventDev adapters.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 v2 Changes: Add Notes to doxygen API.

 doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
 doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
 doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
 doc/guides/prog_guide/eventdev.rst                  | 5 +++++
 lib/librte_eventdev/rte_event_crypto_adapter.h      | 4 ++++
 lib/librte_eventdev/rte_event_eth_rx_adapter.h      | 4 ++++
 lib/librte_eventdev/rte_event_timer_adapter.h       | 4 ++++
 7 files changed, 32 insertions(+)

diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst b/doc/guides/prog_guide/event_crypto_adapter.rst
index 9fe09c805..1e3eb7139 100644
--- a/doc/guides/prog_guide/event_crypto_adapter.rst
+++ b/doc/guides/prog_guide/event_crypto_adapter.rst
@@ -286,6 +286,11 @@ service function if one exists.

         rte_event_crypto_adapter_start(id, mode);

+.. Note::
+
+         The eventdev to which the event_crypto_adapter is connected needs to
+         be started before calling rte_event_crypto_adapter_start().
+
 Get adapter statistics
 ~~~~~~~~~~~~~~~~~~~~~~

diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
index 0166bb45d..e95529974 100644
--- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
+++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
@@ -135,6 +135,11 @@ This function calls the start callbacks of the eventdev PMDs for hardware based
 eventdev-ethdev connections and ``rte_service_run_state_set()`` to enable the
 service function if one exists.

+.. Note::
+
+         The eventdev to which the event_eth_rx_adapter is connected needs to
+         be started before calling rte_event_eth_rx_adapter_start().
+
 Getting Adapter Statistics
 ~~~~~~~~~~~~~~~~~~~~~~~~~~

diff --git a/doc/guides/prog_guide/event_timer_adapter.rst b/doc/guides/prog_guide/event_timer_adapter.rst
index 3b4446ee9..eb195ebd4 100644
--- a/doc/guides/prog_guide/event_timer_adapter.rst
+++ b/doc/guides/prog_guide/event_timer_adapter.rst
@@ -179,6 +179,11 @@ running the event timer adapter. This function calls the start entry points
 defined by eventdev PMDs for hardware implementations or puts a service
 component into the running state in the software implementation.

+.. Note::
+
+         The eventdev to which the event_timer_adapter is connected needs to
+         be started before calling rte_event_timer_adapter_start().
+
 Arming Event Timers
 ~~~~~~~~~~~~~~~~~~~

diff --git a/doc/guides/prog_guide/eventdev.rst b/doc/guides/prog_guide/eventdev.rst
index 8fcae5469..dcdfeb75e 100644
--- a/doc/guides/prog_guide/eventdev.rst
+++ b/doc/guides/prog_guide/eventdev.rst
@@ -296,6 +296,11 @@ eventdev.

         int err = rte_event_dev_start(dev_id);

+.. Note::
+
+         EventDev needs to be started before starting the event producers such
+         as event_eth_rx_adapter, event_timer_adapter and event_crypto_adapter.
+
 Ingress of New Events
 ~~~~~~~~~~~~~~~~~~~~~

diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h b/lib/librte_eventdev/rte_event_crypto_adapter.h
index d367309cb..a7419e91c 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.h
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
@@ -472,6 +472,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
  * @return
  *  - 0: Success, adapter started successfully.
  *  - <0: Error code on failure.
+ *
+ * @note
+ *  The eventdev to which the event_crypto_adapter is connected needs to
+ *  be started before calling rte_event_crypto_adapter_start().
  */
 int __rte_experimental
 rte_event_crypto_adapter_start(uint8_t id);
diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
index 863b72a10..2314b93f6 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
@@ -405,6 +405,10 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
  * @return
  *  - 0: Success, Adapter started correctly.
  *  - <0: Error code on failure.
+ *
+ * @note
+ *  The eventdev to which the event_eth_rx_adapter is connected needs to
+ *  be started before calling rte_event_eth_rx_adapter_start().
  */
 int rte_event_eth_rx_adapter_start(uint8_t id);

diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h b/lib/librte_eventdev/rte_event_timer_adapter.h
index db98dec46..cc4518d41 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.h
+++ b/lib/librte_eventdev/rte_event_timer_adapter.h
@@ -339,6 +339,10 @@ rte_event_timer_adapter_get_info(
  *   - -EINVAL if adapter identifier invalid
  *   - -ENOENT if software adapter but no service core mapped
  *   - -ENOTSUP if software adapter and more than one service core mapped
+ *
+ * @note
+ *  The eventdev to which the event_timer_adapter is connected needs to
+ *  be started before calling rte_event_timer_adapter_start().
  */
 int __rte_experimental
 rte_event_timer_adapter_start(
--
2.21.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [dpdk-dev] [PATCH v3 1/3] app/eventdev: start event producers after eventdev
  2019-02-27 20:00 [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started Pavan Nikhilesh Bhagavatula
                   ` (2 preceding siblings ...)
  2019-03-11  7:59 ` [dpdk-dev] [PATCH v2 1/2] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
@ 2019-03-12 20:41 ` Pavan Nikhilesh Bhagavatula
  2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after eth adapter setup Pavan Nikhilesh Bhagavatula
  2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
  3 siblings, 2 replies; 18+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-03-12 20:41 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, harry.van.haaren, nikhil.rao,
	erik.g.carrillo, abhinandan.gujjar, john.mcnamara
  Cc: dev, Pavan Nikhilesh Bhagavatula

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Start event producers after eventdev i.e. consumer is started as in some
architectures it might lead to undefined behaviour or events being
dropped.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
---
 app/test-eventdev/test_perf_atq.c       | 31 +++++++++++++++++++++++++
 app/test-eventdev/test_perf_common.c    | 21 -----------------
 app/test-eventdev/test_perf_queue.c     | 31 +++++++++++++++++++++++++
 app/test-eventdev/test_pipeline_atq.c   | 13 ++++++-----
 app/test-eventdev/test_pipeline_queue.c | 13 ++++++-----
 5 files changed, 76 insertions(+), 33 deletions(-)

diff --git a/app/test-eventdev/test_perf_atq.c b/app/test-eventdev/test_perf_atq.c
index b76ca605b..73f31e564 100644
--- a/app/test-eventdev/test_perf_atq.c
+++ b/app/test-eventdev/test_perf_atq.c
@@ -157,7 +157,9 @@ perf_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 	uint8_t queue;
 	uint8_t nb_queues;
 	uint8_t nb_ports;
+	uint16_t prod;
 	struct rte_event_dev_info dev_info;
+	struct test_perf *t = evt_test_priv(test);
 
 	nb_ports = evt_nr_active_lcores(opt->wlcores);
 	nb_ports += (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ||
@@ -236,6 +238,35 @@ perf_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		return ret;
 	}
 
+	if (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR) {
+		RTE_ETH_FOREACH_DEV(prod) {
+			ret = rte_eth_dev_start(prod);
+			if (ret) {
+				evt_err("Ethernet dev [%d] failed to start. Using synthetic producer",
+						prod);
+				return ret;
+			}
+
+			ret = rte_event_eth_rx_adapter_start(prod);
+			if (ret) {
+				evt_err("Rx adapter[%d] start failed", prod);
+				return ret;
+			}
+			printf("%s: Port[%d] using Rx adapter[%d] started\n",
+					__func__, prod, prod);
+		}
+	} else if (opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR) {
+		for (prod = 0; prod < opt->nb_timer_adptrs; prod++) {
+			ret = rte_event_timer_adapter_start(
+					t->timer_adptr[prod]);
+			if (ret) {
+				evt_err("failed to Start event timer adapter %d"
+						, prod);
+				return ret;
+			}
+		}
+	}
+
 	return 0;
 }
 
diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c
index f99a6a607..24ece75c3 100644
--- a/app/test-eventdev/test_perf_common.c
+++ b/app/test-eventdev/test_perf_common.c
@@ -393,21 +393,6 @@ perf_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride,
 				return ret;
 			}
 		}
-
-		ret = rte_eth_dev_start(prod);
-		if (ret) {
-			evt_err("Ethernet dev [%d] failed to start."
-					" Using synthetic producer", prod);
-			return ret;
-		}
-
-		ret = rte_event_eth_rx_adapter_start(prod);
-		if (ret) {
-			evt_err("Rx adapter[%d] start failed", prod);
-			return ret;
-		}
-		printf("%s: Port[%d] using Rx adapter[%d] started\n", __func__,
-				prod, prod);
 	}
 
 	return ret;
@@ -461,12 +446,6 @@ perf_event_timer_adapter_setup(struct test_perf *t)
 			}
 			rte_service_runstate_set(service_id, 1);
 		}
-
-		ret = rte_event_timer_adapter_start(wl);
-		if (ret) {
-			evt_err("failed to Start event timer adapter %d", i);
-			return ret;
-		}
 		t->timer_adptr[i] = wl;
 	}
 	return 0;
diff --git a/app/test-eventdev/test_perf_queue.c b/app/test-eventdev/test_perf_queue.c
index 8efdec6f9..d89491364 100644
--- a/app/test-eventdev/test_perf_queue.c
+++ b/app/test-eventdev/test_perf_queue.c
@@ -158,7 +158,9 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 	int ret;
 	int nb_ports;
 	int nb_queues;
+	uint16_t prod;
 	struct rte_event_dev_info dev_info;
+	struct test_perf *t = evt_test_priv(test);
 
 	nb_ports = evt_nr_active_lcores(opt->wlcores);
 	nb_ports += opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR ||
@@ -251,6 +253,35 @@ perf_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		return ret;
 	}
 
+	if (opt->prod_type == EVT_PROD_TYPE_ETH_RX_ADPTR) {
+		RTE_ETH_FOREACH_DEV(prod) {
+			ret = rte_eth_dev_start(prod);
+			if (ret) {
+				evt_err("Ethernet dev [%d] failed to start. Using synthetic producer",
+						prod);
+				return ret;
+			}
+
+			ret = rte_event_eth_rx_adapter_start(prod);
+			if (ret) {
+				evt_err("Rx adapter[%d] start failed", prod);
+				return ret;
+			}
+			printf("%s: Port[%d] using Rx adapter[%d] started\n",
+					__func__, prod, prod);
+		}
+	} else if (opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR) {
+		for (prod = 0; prod < opt->nb_timer_adptrs; prod++) {
+			ret = rte_event_timer_adapter_start(
+					t->timer_adptr[prod]);
+			if (ret) {
+				evt_err("failed to Start event timer adapter %d"
+						, prod);
+				return ret;
+			}
+		}
+	}
+
 	return 0;
 }
 
diff --git a/app/test-eventdev/test_pipeline_atq.c b/app/test-eventdev/test_pipeline_atq.c
index fc4cb3bb7..998a56cfd 100644
--- a/app/test-eventdev/test_pipeline_atq.c
+++ b/app/test-eventdev/test_pipeline_atq.c
@@ -442,6 +442,13 @@ pipeline_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
+	ret = rte_event_dev_start(opt->dev_id);
+	if (ret) {
+		evt_err("failed to start eventdev %d", opt->dev_id);
+		return ret;
+	}
+
+
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_eth_dev_start(prod);
 		if (ret) {
@@ -451,12 +458,6 @@ pipeline_atq_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
-	ret = rte_event_dev_start(opt->dev_id);
-	if (ret) {
-		evt_err("failed to start eventdev %d", opt->dev_id);
-		return ret;
-	}
-
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_event_eth_rx_adapter_start(prod);
 		if (ret) {
diff --git a/app/test-eventdev/test_pipeline_queue.c b/app/test-eventdev/test_pipeline_queue.c
index e35e9eb4c..7da89dad5 100644
--- a/app/test-eventdev/test_pipeline_queue.c
+++ b/app/test-eventdev/test_pipeline_queue.c
@@ -456,6 +456,13 @@ pipeline_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 		}
 	}
 
+	ret = rte_event_dev_start(opt->dev_id);
+	if (ret) {
+		evt_err("failed to start eventdev %d", opt->dev_id);
+		return ret;
+	}
+
+
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_eth_dev_start(prod);
 		if (ret) {
@@ -466,12 +473,6 @@ pipeline_queue_eventdev_setup(struct evt_test *test, struct evt_options *opt)
 
 	}
 
-	ret = rte_event_dev_start(opt->dev_id);
-	if (ret) {
-		evt_err("failed to start eventdev %d", opt->dev_id);
-		return ret;
-	}
-
 	RTE_ETH_FOREACH_DEV(prod) {
 		ret = rte_event_eth_rx_adapter_start(prod);
 		if (ret) {
-- 
2.21.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after eth adapter setup
  2019-03-12 20:41 ` [dpdk-dev] [PATCH v3 1/3] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
@ 2019-03-12 20:41   ` Pavan Nikhilesh Bhagavatula
  2019-03-13 13:10     ` Rao, Nikhil
  2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
  1 sibling, 1 reply; 18+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-03-12 20:41 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, harry.van.haaren, nikhil.rao,
	erik.g.carrillo, abhinandan.gujjar, john.mcnamara
  Cc: dev, Pavan Nikhilesh Bhagavatula

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Start ethdev after the Rx/Tx adapter setup is complete as in some
architectures it might lead to undefined behaviour or events being
dropped.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 v3 Changes:
 - add the same changes in examples/eventdev_pipeline

 examples/eventdev_pipeline/main.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/examples/eventdev_pipeline/main.c b/examples/eventdev_pipeline/main.c
index 92e08bc0c..22ea75e7b 100644
--- a/examples/eventdev_pipeline/main.c
+++ b/examples/eventdev_pipeline/main.c
@@ -316,11 +316,6 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)
 			return retval;
 	}

-	/* Start the Ethernet port. */
-	retval = rte_eth_dev_start(port);
-	if (retval < 0)
-		return retval;
-
 	/* Display the port MAC address. */
 	struct ether_addr addr;
 	rte_eth_macaddr_get(port, &addr);
@@ -440,6 +435,7 @@ main(int argc, char **argv)
 {
 	struct worker_data *worker_data;
 	uint16_t num_ports;
+	uint16_t portid;
 	int lcore_id;
 	int err;

@@ -507,6 +503,14 @@ main(int argc, char **argv)
 	init_ports(num_ports);
 	fdata->cap.adptr_setup(num_ports);

+	/* Start the Ethernet port. */
+	RTE_ETH_FOREACH_DEV(portid) {
+		err = rte_eth_dev_start(portid);
+		if (err < 0)
+			rte_exit(EXIT_FAILURE, "Error starting ethdev %d\n",
+					portid);
+	}
+
 	int worker_idx = 0;
 	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
 		if (lcore_id >= MAX_NUM_CORE)
--
2.21.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency
  2019-03-12 20:41 ` [dpdk-dev] [PATCH v3 1/3] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
  2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after eth adapter setup Pavan Nikhilesh Bhagavatula
@ 2019-03-12 20:41   ` Pavan Nikhilesh Bhagavatula
  2019-03-13 22:22     ` Carrillo, Erik G
  2019-03-14  5:03     ` Gujjar, Abhinandan S
  1 sibling, 2 replies; 18+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-03-12 20:41 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, harry.van.haaren, nikhil.rao,
	erik.g.carrillo, abhinandan.gujjar, john.mcnamara
  Cc: dev, Pavan Nikhilesh Bhagavatula

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

EventDev i.e consumer needs to be started before starting the
event producers.
Update documentation of EventDev and EventDev adapters.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 v2 Changes: Add Notes to doxygen API.

 doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
 doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
 doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
 doc/guides/prog_guide/eventdev.rst                  | 5 +++++
 lib/librte_eventdev/rte_event_crypto_adapter.h      | 4 ++++
 lib/librte_eventdev/rte_event_eth_rx_adapter.h      | 4 ++++
 lib/librte_eventdev/rte_event_timer_adapter.h       | 4 ++++
 7 files changed, 32 insertions(+)

diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst b/doc/guides/prog_guide/event_crypto_adapter.rst
index 9fe09c805..1e3eb7139 100644
--- a/doc/guides/prog_guide/event_crypto_adapter.rst
+++ b/doc/guides/prog_guide/event_crypto_adapter.rst
@@ -286,6 +286,11 @@ service function if one exists.

         rte_event_crypto_adapter_start(id, mode);

+.. Note::
+
+         The eventdev to which the event_crypto_adapter is connected needs to
+         be started before calling rte_event_crypto_adapter_start().
+
 Get adapter statistics
 ~~~~~~~~~~~~~~~~~~~~~~

diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
index 0166bb45d..e95529974 100644
--- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
+++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
@@ -135,6 +135,11 @@ This function calls the start callbacks of the eventdev PMDs for hardware based
 eventdev-ethdev connections and ``rte_service_run_state_set()`` to enable the
 service function if one exists.

+.. Note::
+
+         The eventdev to which the event_eth_rx_adapter is connected needs to
+         be started before calling rte_event_eth_rx_adapter_start().
+
 Getting Adapter Statistics
 ~~~~~~~~~~~~~~~~~~~~~~~~~~

diff --git a/doc/guides/prog_guide/event_timer_adapter.rst b/doc/guides/prog_guide/event_timer_adapter.rst
index 3b4446ee9..eb195ebd4 100644
--- a/doc/guides/prog_guide/event_timer_adapter.rst
+++ b/doc/guides/prog_guide/event_timer_adapter.rst
@@ -179,6 +179,11 @@ running the event timer adapter. This function calls the start entry points
 defined by eventdev PMDs for hardware implementations or puts a service
 component into the running state in the software implementation.

+.. Note::
+
+         The eventdev to which the event_timer_adapter is connected needs to
+         be started before calling rte_event_timer_adapter_start().
+
 Arming Event Timers
 ~~~~~~~~~~~~~~~~~~~

diff --git a/doc/guides/prog_guide/eventdev.rst b/doc/guides/prog_guide/eventdev.rst
index 8fcae5469..dcdfeb75e 100644
--- a/doc/guides/prog_guide/eventdev.rst
+++ b/doc/guides/prog_guide/eventdev.rst
@@ -296,6 +296,11 @@ eventdev.

         int err = rte_event_dev_start(dev_id);

+.. Note::
+
+         EventDev needs to be started before starting the event producers such
+         as event_eth_rx_adapter, event_timer_adapter and event_crypto_adapter.
+
 Ingress of New Events
 ~~~~~~~~~~~~~~~~~~~~~

diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h b/lib/librte_eventdev/rte_event_crypto_adapter.h
index d367309cb..a7419e91c 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.h
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
@@ -472,6 +472,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
  * @return
  *  - 0: Success, adapter started successfully.
  *  - <0: Error code on failure.
+ *
+ * @note
+ *  The eventdev to which the event_crypto_adapter is connected needs to
+ *  be started before calling rte_event_crypto_adapter_start().
  */
 int __rte_experimental
 rte_event_crypto_adapter_start(uint8_t id);
diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
index 863b72a10..2314b93f6 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
@@ -405,6 +405,10 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
  * @return
  *  - 0: Success, Adapter started correctly.
  *  - <0: Error code on failure.
+ *
+ * @note
+ *  The eventdev to which the event_eth_rx_adapter is connected needs to
+ *  be started before calling rte_event_eth_rx_adapter_start().
  */
 int rte_event_eth_rx_adapter_start(uint8_t id);

diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h b/lib/librte_eventdev/rte_event_timer_adapter.h
index db98dec46..cc4518d41 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.h
+++ b/lib/librte_eventdev/rte_event_timer_adapter.h
@@ -339,6 +339,10 @@ rte_event_timer_adapter_get_info(
  *   - -EINVAL if adapter identifier invalid
  *   - -ENOENT if software adapter but no service core mapped
  *   - -ENOTSUP if software adapter and more than one service core mapped
+ *
+ * @note
+ *  The eventdev to which the event_timer_adapter is connected needs to
+ *  be started before calling rte_event_timer_adapter_start().
  */
 int __rte_experimental
 rte_event_timer_adapter_start(
--
2.21.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after eth adapter setup
  2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after eth adapter setup Pavan Nikhilesh Bhagavatula
@ 2019-03-13 13:10     ` Rao, Nikhil
  0 siblings, 0 replies; 18+ messages in thread
From: Rao, Nikhil @ 2019-03-13 13:10 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, Jerin Jacob Kollanukkaran,
	Van Haaren, Harry, Carrillo, Erik G, Gujjar, Abhinandan S,
	Mcnamara, John
  Cc: dev


> -----Original Message-----
> From: Pavan Nikhilesh Bhagavatula [mailto:pbhagavatula@marvell.com]
> Sent: Wednesday, March 13, 2019 2:11 AM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Mcnamara, John
> <john.mcnamara@intel.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula
> <pbhagavatula@marvell.com>
> Subject: [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after
> eth adapter setup
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Start ethdev after the Rx/Tx adapter setup is complete as in some
> architectures it might lead to undefined behaviour or events being dropped.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  v3 Changes:
>  - add the same changes in examples/eventdev_pipeline
> 
>  examples/eventdev_pipeline/main.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/examples/eventdev_pipeline/main.c
> b/examples/eventdev_pipeline/main.c
> index 92e08bc0c..22ea75e7b 100644
> --- a/examples/eventdev_pipeline/main.c
> +++ b/examples/eventdev_pipeline/main.c
> @@ -316,11 +316,6 @@ port_init(uint8_t port, struct rte_mempool
> *mbuf_pool)
>  			return retval;
>  	}
> 
> -	/* Start the Ethernet port. */
> -	retval = rte_eth_dev_start(port);
> -	if (retval < 0)
> -		return retval;
> -
>  	/* Display the port MAC address. */
>  	struct ether_addr addr;
>  	rte_eth_macaddr_get(port, &addr);
> @@ -440,6 +435,7 @@ main(int argc, char **argv)  {
>  	struct worker_data *worker_data;
>  	uint16_t num_ports;
> +	uint16_t portid;
>  	int lcore_id;
>  	int err;
> 
> @@ -507,6 +503,14 @@ main(int argc, char **argv)
>  	init_ports(num_ports);
>  	fdata->cap.adptr_setup(num_ports);
> 
> +	/* Start the Ethernet port. */
> +	RTE_ETH_FOREACH_DEV(portid) {
> +		err = rte_eth_dev_start(portid);
> +		if (err < 0)
> +			rte_exit(EXIT_FAILURE, "Error starting ethdev %d\n",
> +					portid);
> +	}
> +

Reviewed-by: Nikhil Rao <nikhil.rao@intel.com>

>  	int worker_idx = 0;
>  	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
>  		if (lcore_id >= MAX_NUM_CORE)
> --
> 2.21.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency
  2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
@ 2019-03-13 22:22     ` Carrillo, Erik G
  2019-03-13 22:22       ` Carrillo, Erik G
  2019-03-14 16:17       ` Jerin Jacob Kollanukkaran
  2019-03-14  5:03     ` Gujjar, Abhinandan S
  1 sibling, 2 replies; 18+ messages in thread
From: Carrillo, Erik G @ 2019-03-13 22:22 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, Jerin Jacob Kollanukkaran,
	Van Haaren, Harry, Rao, Nikhil, Gujjar, Abhinandan S, Mcnamara,
	John
  Cc: dev



> -----Original Message-----
> From: Pavan Nikhilesh Bhagavatula [mailto:pbhagavatula@marvell.com]
> Sent: Tuesday, March 12, 2019 3:41 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Mcnamara, John
> <john.mcnamara@intel.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula
> <pbhagavatula@marvell.com>
> Subject: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer
> consumer dependency
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> EventDev i.e consumer needs to be started before starting the event
> producers.
> Update documentation of EventDev and EventDev adapters.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  v2 Changes: Add Notes to doxygen API.
> 
>  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
>  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
>  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
>  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
>  lib/librte_eventdev/rte_event_crypto_adapter.h      | 4 ++++
>  lib/librte_eventdev/rte_event_eth_rx_adapter.h      | 4 ++++
>  lib/librte_eventdev/rte_event_timer_adapter.h       | 4 ++++
>  7 files changed, 32 insertions(+)
> 
> diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst
> b/doc/guides/prog_guide/event_crypto_adapter.rst
> index 9fe09c805..1e3eb7139 100644
> --- a/doc/guides/prog_guide/event_crypto_adapter.rst
> +++ b/doc/guides/prog_guide/event_crypto_adapter.rst
> @@ -286,6 +286,11 @@ service function if one exists.
> 
>          rte_event_crypto_adapter_start(id, mode);
> 
> +.. Note::
> +
> +         The eventdev to which the event_crypto_adapter is connected needs
> to
> +         be started before calling rte_event_crypto_adapter_start().
> +
>  Get adapter statistics
>  ~~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> index 0166bb45d..e95529974 100644
> --- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> +++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> @@ -135,6 +135,11 @@ This function calls the start callbacks of the eventdev
> PMDs for hardware based  eventdev-ethdev connections and
> ``rte_service_run_state_set()`` to enable the  service function if one exists.
> 
> +.. Note::
> +
> +         The eventdev to which the event_eth_rx_adapter is connected needs
> to
> +         be started before calling rte_event_eth_rx_adapter_start().
> +
>  Getting Adapter Statistics
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/event_timer_adapter.rst
> b/doc/guides/prog_guide/event_timer_adapter.rst
> index 3b4446ee9..eb195ebd4 100644
> --- a/doc/guides/prog_guide/event_timer_adapter.rst
> +++ b/doc/guides/prog_guide/event_timer_adapter.rst
> @@ -179,6 +179,11 @@ running the event timer adapter. This function calls
> the start entry points  defined by eventdev PMDs for hardware
> implementations or puts a service  component into the running state in the
> software implementation.
> 
> +.. Note::
> +
> +         The eventdev to which the event_timer_adapter is connected needs
> to
> +         be started before calling rte_event_timer_adapter_start().
> +
>  Arming Event Timers
>  ~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/eventdev.rst
> b/doc/guides/prog_guide/eventdev.rst
> index 8fcae5469..dcdfeb75e 100644
> --- a/doc/guides/prog_guide/eventdev.rst
> +++ b/doc/guides/prog_guide/eventdev.rst
> @@ -296,6 +296,11 @@ eventdev.
> 
>          int err = rte_event_dev_start(dev_id);
> 
> +.. Note::
> +
> +         EventDev needs to be started before starting the event producers such
> +         as event_eth_rx_adapter, event_timer_adapter and
> event_crypto_adapter.
> +
>  Ingress of New Events
>  ~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h
> b/lib/librte_eventdev/rte_event_crypto_adapter.h
> index d367309cb..a7419e91c 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.h
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
> @@ -472,6 +472,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t
> id, uint8_t cdev_id,
>   * @return
>   *  - 0: Success, adapter started successfully.
>   *  - <0: Error code on failure.
> + *
> + * @note
> + *  The eventdev to which the event_crypto_adapter is connected needs
> + to
> + *  be started before calling rte_event_crypto_adapter_start().
>   */
>  int __rte_experimental
>  rte_event_crypto_adapter_start(uint8_t id); diff --git
> a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> index 863b72a10..2314b93f6 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> @@ -405,6 +405,10 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t
> id, uint16_t eth_dev_id,
>   * @return
>   *  - 0: Success, Adapter started correctly.
>   *  - <0: Error code on failure.
> + *
> + * @note
> + *  The eventdev to which the event_eth_rx_adapter is connected needs
> + to
> + *  be started before calling rte_event_eth_rx_adapter_start().
>   */
>  int rte_event_eth_rx_adapter_start(uint8_t id);
> 
> diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h
> b/lib/librte_eventdev/rte_event_timer_adapter.h
> index db98dec46..cc4518d41 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.h
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.h
> @@ -339,6 +339,10 @@ rte_event_timer_adapter_get_info(
>   *   - -EINVAL if adapter identifier invalid
>   *   - -ENOENT if software adapter but no service core mapped
>   *   - -ENOTSUP if software adapter and more than one service core mapped
> + *
> + * @note
> + *  The eventdev to which the event_timer_adapter is connected needs to
> + *  be started before calling rte_event_timer_adapter_start().
>   */
>  int __rte_experimental
>  rte_event_timer_adapter_start(
> --
> 2.21.0

Reviewed-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency
  2019-03-13 22:22     ` Carrillo, Erik G
@ 2019-03-13 22:22       ` Carrillo, Erik G
  2019-03-14 16:17       ` Jerin Jacob Kollanukkaran
  1 sibling, 0 replies; 18+ messages in thread
From: Carrillo, Erik G @ 2019-03-13 22:22 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, Jerin Jacob Kollanukkaran,
	Van Haaren, Harry, Rao, Nikhil, Gujjar, Abhinandan S, Mcnamara,
	John
  Cc: dev



> -----Original Message-----
> From: Pavan Nikhilesh Bhagavatula [mailto:pbhagavatula@marvell.com]
> Sent: Tuesday, March 12, 2019 3:41 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Mcnamara, John
> <john.mcnamara@intel.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula
> <pbhagavatula@marvell.com>
> Subject: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer
> consumer dependency
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> EventDev i.e consumer needs to be started before starting the event
> producers.
> Update documentation of EventDev and EventDev adapters.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  v2 Changes: Add Notes to doxygen API.
> 
>  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
>  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
>  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
>  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
>  lib/librte_eventdev/rte_event_crypto_adapter.h      | 4 ++++
>  lib/librte_eventdev/rte_event_eth_rx_adapter.h      | 4 ++++
>  lib/librte_eventdev/rte_event_timer_adapter.h       | 4 ++++
>  7 files changed, 32 insertions(+)
> 
> diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst
> b/doc/guides/prog_guide/event_crypto_adapter.rst
> index 9fe09c805..1e3eb7139 100644
> --- a/doc/guides/prog_guide/event_crypto_adapter.rst
> +++ b/doc/guides/prog_guide/event_crypto_adapter.rst
> @@ -286,6 +286,11 @@ service function if one exists.
> 
>          rte_event_crypto_adapter_start(id, mode);
> 
> +.. Note::
> +
> +         The eventdev to which the event_crypto_adapter is connected needs
> to
> +         be started before calling rte_event_crypto_adapter_start().
> +
>  Get adapter statistics
>  ~~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> index 0166bb45d..e95529974 100644
> --- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> +++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> @@ -135,6 +135,11 @@ This function calls the start callbacks of the eventdev
> PMDs for hardware based  eventdev-ethdev connections and
> ``rte_service_run_state_set()`` to enable the  service function if one exists.
> 
> +.. Note::
> +
> +         The eventdev to which the event_eth_rx_adapter is connected needs
> to
> +         be started before calling rte_event_eth_rx_adapter_start().
> +
>  Getting Adapter Statistics
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/event_timer_adapter.rst
> b/doc/guides/prog_guide/event_timer_adapter.rst
> index 3b4446ee9..eb195ebd4 100644
> --- a/doc/guides/prog_guide/event_timer_adapter.rst
> +++ b/doc/guides/prog_guide/event_timer_adapter.rst
> @@ -179,6 +179,11 @@ running the event timer adapter. This function calls
> the start entry points  defined by eventdev PMDs for hardware
> implementations or puts a service  component into the running state in the
> software implementation.
> 
> +.. Note::
> +
> +         The eventdev to which the event_timer_adapter is connected needs
> to
> +         be started before calling rte_event_timer_adapter_start().
> +
>  Arming Event Timers
>  ~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/eventdev.rst
> b/doc/guides/prog_guide/eventdev.rst
> index 8fcae5469..dcdfeb75e 100644
> --- a/doc/guides/prog_guide/eventdev.rst
> +++ b/doc/guides/prog_guide/eventdev.rst
> @@ -296,6 +296,11 @@ eventdev.
> 
>          int err = rte_event_dev_start(dev_id);
> 
> +.. Note::
> +
> +         EventDev needs to be started before starting the event producers such
> +         as event_eth_rx_adapter, event_timer_adapter and
> event_crypto_adapter.
> +
>  Ingress of New Events
>  ~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h
> b/lib/librte_eventdev/rte_event_crypto_adapter.h
> index d367309cb..a7419e91c 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.h
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
> @@ -472,6 +472,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t
> id, uint8_t cdev_id,
>   * @return
>   *  - 0: Success, adapter started successfully.
>   *  - <0: Error code on failure.
> + *
> + * @note
> + *  The eventdev to which the event_crypto_adapter is connected needs
> + to
> + *  be started before calling rte_event_crypto_adapter_start().
>   */
>  int __rte_experimental
>  rte_event_crypto_adapter_start(uint8_t id); diff --git
> a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> index 863b72a10..2314b93f6 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> @@ -405,6 +405,10 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t
> id, uint16_t eth_dev_id,
>   * @return
>   *  - 0: Success, Adapter started correctly.
>   *  - <0: Error code on failure.
> + *
> + * @note
> + *  The eventdev to which the event_eth_rx_adapter is connected needs
> + to
> + *  be started before calling rte_event_eth_rx_adapter_start().
>   */
>  int rte_event_eth_rx_adapter_start(uint8_t id);
> 
> diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h
> b/lib/librte_eventdev/rte_event_timer_adapter.h
> index db98dec46..cc4518d41 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.h
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.h
> @@ -339,6 +339,10 @@ rte_event_timer_adapter_get_info(
>   *   - -EINVAL if adapter identifier invalid
>   *   - -ENOENT if software adapter but no service core mapped
>   *   - -ENOTSUP if software adapter and more than one service core mapped
> + *
> + * @note
> + *  The eventdev to which the event_timer_adapter is connected needs to
> + *  be started before calling rte_event_timer_adapter_start().
>   */
>  int __rte_experimental
>  rte_event_timer_adapter_start(
> --
> 2.21.0

Reviewed-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency
  2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
  2019-03-13 22:22     ` Carrillo, Erik G
@ 2019-03-14  5:03     ` Gujjar, Abhinandan S
  2019-03-14  5:03       ` Gujjar, Abhinandan S
  1 sibling, 1 reply; 18+ messages in thread
From: Gujjar, Abhinandan S @ 2019-03-14  5:03 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, Jerin Jacob Kollanukkaran,
	Van Haaren, Harry, Rao, Nikhil, Carrillo, Erik G, Mcnamara, John
  Cc: dev



> -----Original Message-----
> From: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> Sent: Wednesday, March 13, 2019 2:11 AM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Mcnamara, John <john.mcnamara@intel.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> Subject: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer
> consumer dependency
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> EventDev i.e consumer needs to be started before starting the event producers.
> Update documentation of EventDev and EventDev adapters.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  v2 Changes: Add Notes to doxygen API.
> 
>  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
>  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
>  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
>  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
>  lib/librte_eventdev/rte_event_crypto_adapter.h      | 4 ++++
>  lib/librte_eventdev/rte_event_eth_rx_adapter.h      | 4 ++++
>  lib/librte_eventdev/rte_event_timer_adapter.h       | 4 ++++
>  7 files changed, 32 insertions(+)
> 
> diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst
> b/doc/guides/prog_guide/event_crypto_adapter.rst
> index 9fe09c805..1e3eb7139 100644
> --- a/doc/guides/prog_guide/event_crypto_adapter.rst
> +++ b/doc/guides/prog_guide/event_crypto_adapter.rst
> @@ -286,6 +286,11 @@ service function if one exists.
> 
>          rte_event_crypto_adapter_start(id, mode);
> 
> +.. Note::
> +
> +         The eventdev to which the event_crypto_adapter is connected needs to
> +         be started before calling rte_event_crypto_adapter_start().
> +
>  Get adapter statistics
>  ~~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> index 0166bb45d..e95529974 100644
> --- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> +++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> @@ -135,6 +135,11 @@ This function calls the start callbacks of the eventdev
> PMDs for hardware based  eventdev-ethdev connections and
> ``rte_service_run_state_set()`` to enable the  service function if one exists.
> 
> +.. Note::
> +
> +         The eventdev to which the event_eth_rx_adapter is connected needs to
> +         be started before calling rte_event_eth_rx_adapter_start().
> +
>  Getting Adapter Statistics
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/event_timer_adapter.rst
> b/doc/guides/prog_guide/event_timer_adapter.rst
> index 3b4446ee9..eb195ebd4 100644
> --- a/doc/guides/prog_guide/event_timer_adapter.rst
> +++ b/doc/guides/prog_guide/event_timer_adapter.rst
> @@ -179,6 +179,11 @@ running the event timer adapter. This function calls the
> start entry points  defined by eventdev PMDs for hardware implementations or
> puts a service  component into the running state in the software
> implementation.
> 
> +.. Note::
> +
> +         The eventdev to which the event_timer_adapter is connected needs to
> +         be started before calling rte_event_timer_adapter_start().
> +
>  Arming Event Timers
>  ~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/eventdev.rst
> b/doc/guides/prog_guide/eventdev.rst
> index 8fcae5469..dcdfeb75e 100644
> --- a/doc/guides/prog_guide/eventdev.rst
> +++ b/doc/guides/prog_guide/eventdev.rst
> @@ -296,6 +296,11 @@ eventdev.
> 
>          int err = rte_event_dev_start(dev_id);
> 
> +.. Note::
> +
> +         EventDev needs to be started before starting the event producers such
> +         as event_eth_rx_adapter, event_timer_adapter and
> event_crypto_adapter.
> +
>  Ingress of New Events
>  ~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h
> b/lib/librte_eventdev/rte_event_crypto_adapter.h
> index d367309cb..a7419e91c 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.h
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
> @@ -472,6 +472,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id,
> uint8_t cdev_id,
>   * @return
>   *  - 0: Success, adapter started successfully.
>   *  - <0: Error code on failure.
> + *
> + * @note
> + *  The eventdev to which the event_crypto_adapter is connected needs
> + to
> + *  be started before calling rte_event_crypto_adapter_start().
>   */
>  int __rte_experimental
>  rte_event_crypto_adapter_start(uint8_t id); diff --git
> a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> index 863b72a10..2314b93f6 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> @@ -405,6 +405,10 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id,
> uint16_t eth_dev_id,
>   * @return
>   *  - 0: Success, Adapter started correctly.
>   *  - <0: Error code on failure.
> + *
> + * @note
> + *  The eventdev to which the event_eth_rx_adapter is connected needs
> + to
> + *  be started before calling rte_event_eth_rx_adapter_start().
>   */
>  int rte_event_eth_rx_adapter_start(uint8_t id);
> 
> diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h
> b/lib/librte_eventdev/rte_event_timer_adapter.h
> index db98dec46..cc4518d41 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.h
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.h
> @@ -339,6 +339,10 @@ rte_event_timer_adapter_get_info(
>   *   - -EINVAL if adapter identifier invalid
>   *   - -ENOENT if software adapter but no service core mapped
>   *   - -ENOTSUP if software adapter and more than one service core mapped
> + *
> + * @note
> + *  The eventdev to which the event_timer_adapter is connected needs to
> + *  be started before calling rte_event_timer_adapter_start().
>   */
>  int __rte_experimental
>  rte_event_timer_adapter_start(
> --
> 2.21.0

Reviewed-by: Abhinandan Gujjar <abhinandan.gs@intel.com>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency
  2019-03-14  5:03     ` Gujjar, Abhinandan S
@ 2019-03-14  5:03       ` Gujjar, Abhinandan S
  0 siblings, 0 replies; 18+ messages in thread
From: Gujjar, Abhinandan S @ 2019-03-14  5:03 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, Jerin Jacob Kollanukkaran,
	Van Haaren, Harry, Rao, Nikhil, Carrillo, Erik G, Mcnamara, John
  Cc: dev



> -----Original Message-----
> From: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> Sent: Wednesday, March 13, 2019 2:11 AM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Mcnamara, John <john.mcnamara@intel.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> Subject: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer
> consumer dependency
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> EventDev i.e consumer needs to be started before starting the event producers.
> Update documentation of EventDev and EventDev adapters.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  v2 Changes: Add Notes to doxygen API.
> 
>  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
>  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
>  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
>  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
>  lib/librte_eventdev/rte_event_crypto_adapter.h      | 4 ++++
>  lib/librte_eventdev/rte_event_eth_rx_adapter.h      | 4 ++++
>  lib/librte_eventdev/rte_event_timer_adapter.h       | 4 ++++
>  7 files changed, 32 insertions(+)
> 
> diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst
> b/doc/guides/prog_guide/event_crypto_adapter.rst
> index 9fe09c805..1e3eb7139 100644
> --- a/doc/guides/prog_guide/event_crypto_adapter.rst
> +++ b/doc/guides/prog_guide/event_crypto_adapter.rst
> @@ -286,6 +286,11 @@ service function if one exists.
> 
>          rte_event_crypto_adapter_start(id, mode);
> 
> +.. Note::
> +
> +         The eventdev to which the event_crypto_adapter is connected needs to
> +         be started before calling rte_event_crypto_adapter_start().
> +
>  Get adapter statistics
>  ~~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> index 0166bb45d..e95529974 100644
> --- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> +++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> @@ -135,6 +135,11 @@ This function calls the start callbacks of the eventdev
> PMDs for hardware based  eventdev-ethdev connections and
> ``rte_service_run_state_set()`` to enable the  service function if one exists.
> 
> +.. Note::
> +
> +         The eventdev to which the event_eth_rx_adapter is connected needs to
> +         be started before calling rte_event_eth_rx_adapter_start().
> +
>  Getting Adapter Statistics
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/event_timer_adapter.rst
> b/doc/guides/prog_guide/event_timer_adapter.rst
> index 3b4446ee9..eb195ebd4 100644
> --- a/doc/guides/prog_guide/event_timer_adapter.rst
> +++ b/doc/guides/prog_guide/event_timer_adapter.rst
> @@ -179,6 +179,11 @@ running the event timer adapter. This function calls the
> start entry points  defined by eventdev PMDs for hardware implementations or
> puts a service  component into the running state in the software
> implementation.
> 
> +.. Note::
> +
> +         The eventdev to which the event_timer_adapter is connected needs to
> +         be started before calling rte_event_timer_adapter_start().
> +
>  Arming Event Timers
>  ~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/doc/guides/prog_guide/eventdev.rst
> b/doc/guides/prog_guide/eventdev.rst
> index 8fcae5469..dcdfeb75e 100644
> --- a/doc/guides/prog_guide/eventdev.rst
> +++ b/doc/guides/prog_guide/eventdev.rst
> @@ -296,6 +296,11 @@ eventdev.
> 
>          int err = rte_event_dev_start(dev_id);
> 
> +.. Note::
> +
> +         EventDev needs to be started before starting the event producers such
> +         as event_eth_rx_adapter, event_timer_adapter and
> event_crypto_adapter.
> +
>  Ingress of New Events
>  ~~~~~~~~~~~~~~~~~~~~~
> 
> diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h
> b/lib/librte_eventdev/rte_event_crypto_adapter.h
> index d367309cb..a7419e91c 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.h
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
> @@ -472,6 +472,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id,
> uint8_t cdev_id,
>   * @return
>   *  - 0: Success, adapter started successfully.
>   *  - <0: Error code on failure.
> + *
> + * @note
> + *  The eventdev to which the event_crypto_adapter is connected needs
> + to
> + *  be started before calling rte_event_crypto_adapter_start().
>   */
>  int __rte_experimental
>  rte_event_crypto_adapter_start(uint8_t id); diff --git
> a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> index 863b72a10..2314b93f6 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> @@ -405,6 +405,10 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id,
> uint16_t eth_dev_id,
>   * @return
>   *  - 0: Success, Adapter started correctly.
>   *  - <0: Error code on failure.
> + *
> + * @note
> + *  The eventdev to which the event_eth_rx_adapter is connected needs
> + to
> + *  be started before calling rte_event_eth_rx_adapter_start().
>   */
>  int rte_event_eth_rx_adapter_start(uint8_t id);
> 
> diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h
> b/lib/librte_eventdev/rte_event_timer_adapter.h
> index db98dec46..cc4518d41 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.h
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.h
> @@ -339,6 +339,10 @@ rte_event_timer_adapter_get_info(
>   *   - -EINVAL if adapter identifier invalid
>   *   - -ENOENT if software adapter but no service core mapped
>   *   - -ENOTSUP if software adapter and more than one service core mapped
> + *
> + * @note
> + *  The eventdev to which the event_timer_adapter is connected needs to
> + *  be started before calling rte_event_timer_adapter_start().
>   */
>  int __rte_experimental
>  rte_event_timer_adapter_start(
> --
> 2.21.0

Reviewed-by: Abhinandan Gujjar <abhinandan.gs@intel.com>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency
  2019-03-13 22:22     ` Carrillo, Erik G
  2019-03-13 22:22       ` Carrillo, Erik G
@ 2019-03-14 16:17       ` Jerin Jacob Kollanukkaran
  2019-03-14 16:17         ` Jerin Jacob Kollanukkaran
  1 sibling, 1 reply; 18+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-03-14 16:17 UTC (permalink / raw)
  To: harry.van.haaren, Pavan Nikhilesh Bhagavatula, nikhil.rao,
	john.mcnamara, erik.g.carrillo, abhinandan.gujjar
  Cc: dev

On Wed, 2019-03-13 at 22:22 +0000, Carrillo, Erik G wrote:
> -----Original Message-----
> > From: Pavan Nikhilesh Bhagavatula [mailto:pbhagavatula@marvell.com]
> > Sent: Tuesday, March 12, 2019 3:41 PM
> > To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Van Haaren,
> > Harry
> > <harry.van.haaren@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>;
> > Carrillo,
> > Erik G <erik.g.carrillo@intel.com>; Gujjar, Abhinandan S
> > <abhinandan.gujjar@intel.com>; Mcnamara, John
> > <john.mcnamara@intel.com>
> > Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula
> > <pbhagavatula@marvell.com>
> > Subject: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev
> > producer
> > consumer dependency
> > 
> > From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > 
> > EventDev i.e consumer needs to be started before starting the event
> > producers.
> > Update documentation of EventDev and EventDev adapters.
> > 
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > ---
> >  v2 Changes: Add Notes to doxygen API.
> > 
> >  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
> >  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
> >  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
> >  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
> >  lib/librte_eventdev/rte_event_crypto_adapter.h      | 4 ++++
> >  lib/librte_eventdev/rte_event_eth_rx_adapter.h      | 4 ++++
> >  lib/librte_eventdev/rte_event_timer_adapter.h       | 4 ++++
> >  7 files changed, 32 insertions(+)
> > 
> 
> Reviewed-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>


Series applied to dpdk-next-eventdev/master. Thanks.




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency
  2019-03-14 16:17       ` Jerin Jacob Kollanukkaran
@ 2019-03-14 16:17         ` Jerin Jacob Kollanukkaran
  0 siblings, 0 replies; 18+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-03-14 16:17 UTC (permalink / raw)
  To: harry.van.haaren, Pavan Nikhilesh Bhagavatula, nikhil.rao,
	john.mcnamara, erik.g.carrillo, abhinandan.gujjar
  Cc: dev

On Wed, 2019-03-13 at 22:22 +0000, Carrillo, Erik G wrote:
> -----Original Message-----
> > From: Pavan Nikhilesh Bhagavatula [mailto:pbhagavatula@marvell.com]
> > Sent: Tuesday, March 12, 2019 3:41 PM
> > To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Van Haaren,
> > Harry
> > <harry.van.haaren@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>;
> > Carrillo,
> > Erik G <erik.g.carrillo@intel.com>; Gujjar, Abhinandan S
> > <abhinandan.gujjar@intel.com>; Mcnamara, John
> > <john.mcnamara@intel.com>
> > Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula
> > <pbhagavatula@marvell.com>
> > Subject: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev
> > producer
> > consumer dependency
> > 
> > From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > 
> > EventDev i.e consumer needs to be started before starting the event
> > producers.
> > Update documentation of EventDev and EventDev adapters.
> > 
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > ---
> >  v2 Changes: Add Notes to doxygen API.
> > 
> >  doc/guides/prog_guide/event_crypto_adapter.rst      | 5 +++++
> >  doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 5 +++++
> >  doc/guides/prog_guide/event_timer_adapter.rst       | 5 +++++
> >  doc/guides/prog_guide/eventdev.rst                  | 5 +++++
> >  lib/librte_eventdev/rte_event_crypto_adapter.h      | 4 ++++
> >  lib/librte_eventdev/rte_event_eth_rx_adapter.h      | 4 ++++
> >  lib/librte_eventdev/rte_event_timer_adapter.h       | 4 ++++
> >  7 files changed, 32 insertions(+)
> > 
> 
> Reviewed-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>


Series applied to dpdk-next-eventdev/master. Thanks.




^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2019-03-14 16:17 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-27 20:00 [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started Pavan Nikhilesh Bhagavatula
2019-02-27 20:00 ` [dpdk-dev] [PATCH 2/2] doc: add notes regarding eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
2019-03-05 15:15   ` Jerin Jacob Kollanukkaran
2019-03-05 23:52     ` Carrillo, Erik G
2019-03-06  5:32     ` Gujjar, Abhinandan S
2019-03-08 18:24 ` [dpdk-dev] [PATCH 1/2] app/eventdev: start event producers after eventdev is started Jerin Jacob Kollanukkaran
2019-03-11  7:59 ` [dpdk-dev] [PATCH v2 1/2] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
2019-03-11  7:59   ` [dpdk-dev] [PATCH v2 2/2] doc: add notes about eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
2019-03-12 20:41 ` [dpdk-dev] [PATCH v3 1/3] app/eventdev: start event producers after eventdev Pavan Nikhilesh Bhagavatula
2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev after eth adapter setup Pavan Nikhilesh Bhagavatula
2019-03-13 13:10     ` Rao, Nikhil
2019-03-12 20:41   ` [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev producer consumer dependency Pavan Nikhilesh Bhagavatula
2019-03-13 22:22     ` Carrillo, Erik G
2019-03-13 22:22       ` Carrillo, Erik G
2019-03-14 16:17       ` Jerin Jacob Kollanukkaran
2019-03-14 16:17         ` Jerin Jacob Kollanukkaran
2019-03-14  5:03     ` Gujjar, Abhinandan S
2019-03-14  5:03       ` Gujjar, Abhinandan S

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).