Patchwork [dpdk-dev] dev Digest, Vol 238, Issue 42

login
register
mail settings
Submitter =?utf-8?B?5a2Z56uL5piO?=
Date March 13, 2019, 12:31 a.m.
Message ID <tencent_2C76807B74F56A0D1DB1D1C3@qq.com>
Download mbox | patch
Permalink /patch/747823/
State New
Headers show

Comments

=?utf-8?B?5a2Z56uL5piO?= - March 13, 2019, 12:31 a.m.
help
 
 
------------------ Original ------------------
From:  "dev-request"<dev-request@dpdk.org>;

Date:  Wed, Mar 13, 2019 04:51 AM
To:  "dev"<dev@dpdk.org>; 

Subject:  dev Digest, Vol 238, Issue 42

 
Send dev mailing list submissions to
	dev@dpdk.org

To subscribe or unsubscribe via the World Wide Web, visit
	https://mails.dpdk.org/listinfo/dev
or, via email, send a message with subject or body 'help' to
	dev-request@dpdk.org

You can reach the person managing the list at
	dev-owner@dpdk.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of dev digest..."


Today's Topics:

   1. [PATCH v3 2/3] examples/eventdev: start ethdev after eth
      adapter setup (Pavan Nikhilesh Bhagavatula)
   2. [PATCH v3 3/3] doc: add notes about eventdev producer
      consumer dependency (Pavan Nikhilesh Bhagavatula)
   3. Re: DPDK short term stable maintenance (Luca Boccassi)
   4. Re: DPDK short term stable maintenance (Thomas Monjalon)


----------------------------------------------------------------------

Message: 1
Date: Tue, 12 Mar 2019 20:41:09 +0000
From: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>

To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	"harry.van.haaren@intel.com" <harry.van.haaren@intel.com>,
	"nikhil.rao@intel.com" <nikhil.rao@intel.com>,
	"erik.g.carrillo@intel.com" <erik.g.carrillo@intel.com>,
	"abhinandan.gujjar@intel.com" <abhinandan.gujjar@intel.com>,
	"john.mcnamara@intel.com" <john.mcnamara@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, Pavan Nikhilesh Bhagavatula
	<pbhagavatula@marvell.com>
Subject: [dpdk-dev] [PATCH v3 2/3] examples/eventdev: start ethdev
	after eth adapter setup
Message-ID: <20190312204037.16141-2-pbhagavatula@marvell.com>
Content-Type: text/plain; charset="iso-8859-1"

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

--
2.21.0



------------------------------

Message: 3
Date: Tue, 12 Mar 2019 20:46:45 +0000
From: Luca Boccassi <bluca@debian.org>

To: Kevin Traynor <ktraynor@redhat.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: Yongseok Koh <yskoh@mellanox.com>, Thomas Monjalon
	<thomas@monjalon.net>,  Ferruh Yigit <ferruh.yigit@intel.com>, John
	McNamara <john.mcnamara@intel.com>, Aaron Conole <aconole@redhat.com>,
	"Walker, Benjamin" <benjamin.walker@intel.com>, Jay Rolette
	<rolette@infinite.io>
Subject: Re: [dpdk-dev] DPDK short term stable maintenance
Message-ID:
	<834f085314caae4091cfc02c5c904a6efaed3141.camel@debian.org>
Content-Type: text/plain; charset="UTF-8"

On Tue, 2019-03-12 at 19:12 +0000, Kevin Traynor wrote:
> Hi All,

> 

> This is about short term stable maintenance, ~3 months based on

> n.02/05/08 DPDK. It is **not** referring/impacting DPDK LTS,

> maintained

> for ~2 years based on n.11 DPDK.

> 

> The effort and usefulness of short term stable maintenance was raised

> previously and in the last DPDK Release meeting [1], so sending mail

> to

> kick off discussion here...

> 

> Currently DPDK 19.02 stable branch has no maintainer and it has been

> difficult to get the companies to validate DPDK 18.08.1 RC. There

> seems

> to be a lack of appetite in the community for short term stables, or

> at

> least for all of them, and hence giving resources for helping them.

> 

> It could be that users are either moving from latest bleeding edge

> master release to the next, or settling on DPDK LTS for an extended

> period of time - I'm just speculating, but IMHO that would not be a

> bad

> thing.

> 

> So what to do with short term stables? Some choices could be:

> 

> - continue with short term stables for n.02/05/08

> - ad-hoc support for short term stables where community have an

> interest

> in a particular one

> - have a maintainer to backport fixes on a public branch, but have no

> releases, or have unvalidated/best effort validated releases

> - no short term stable branches/releases

> 

> Probably there's other ideas too. Obviously most of the above would

> need

> resources from the community to proceed. One advantage of not having

> short term stables is that there might be more resources available

> for

> maintenance/validation of master and LTS DPDK releases.

> 

> Thoughts?

> 

> thanks,

> Kevin.

> 

> [1] https://mails.dpdk.org/archives/dev/2019-March/126006.html


Hi,

Thanks for starting the discussion.

My 2c is that, unless someone steps up not only for the maintainer role
but also for the validation effort, we should cancel the short term
releases.

-- 
Kind regards,
Luca Boccassi


------------------------------

Message: 4
Date: Tue, 12 Mar 2019 21:51:37 +0100
From: Thomas Monjalon <thomas@monjalon.net>

To: Luca Boccassi <bluca@debian.org>, Kevin Traynor
	<ktraynor@redhat.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, Yongseok Koh <yskoh@mellanox.com>,
	Ferruh Yigit <ferruh.yigit@intel.com>, John McNamara
	<john.mcnamara@intel.com>, Aaron Conole <aconole@redhat.com>, "Walker,
	Benjamin" <benjamin.walker@intel.com>, Jay Rolette
	<rolette@infinite.io>
Subject: Re: [dpdk-dev] DPDK short term stable maintenance
Message-ID: <4664304.LLR2pzfpgk@xps>
Content-Type: text/plain; charset="us-ascii"

12/03/2019 21:46, Luca Boccassi:
> On Tue, 2019-03-12 at 19:12 +0000, Kevin Traynor wrote:

> > So what to do with short term stables? Some choices could be:

> > 

> > - continue with short term stables for n.02/05/08

> > - ad-hoc support for short term stables where community have an

> > interest

> > in a particular one

> > - have a maintainer to backport fixes on a public branch, but have no

> > releases, or have unvalidated/best effort validated releases

> > - no short term stable branches/releases

> > 

> > Probably there's other ideas too. Obviously most of the above would

> > need

> > resources from the community to proceed. One advantage of not having

> > short term stables is that there might be more resources available

> > for

> > maintenance/validation of master and LTS DPDK releases.

[...]
> 

> My 2c is that, unless someone steps up not only for the maintainer role

> but also for the validation effort, we should cancel the short term

> releases.


Yes it looks reasonnable.
So we must question the community at each major release
to know if it will maintained, how long, or not.
If there are volunteers, we must clearly state in the stable release notes
which areas are validated.




End of dev Digest, Vol 238, Issue 42
************************************

Patch

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



------------------------------


Message: 2
Date: Tue, 12 Mar 2019 20:41:13 +0000
From: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	"harry.van.haaren@intel.com" <harry.van.haaren@intel.com>,
	"nikhil.rao@intel.com" <nikhil.rao@intel.com>,
	"erik.g.carrillo@intel.com" <erik.g.carrillo@intel.com>,
	"abhinandan.gujjar@intel.com" <abhinandan.gujjar@intel.com>,
	"john.mcnamara@intel.com" <john.mcnamara@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, Pavan Nikhilesh Bhagavatula
	<pbhagavatula@marvell.com>
Subject: [dpdk-dev] [PATCH v3 3/3] doc: add notes about eventdev
	producer consumer dependency
Message-ID: <20190312204037.16141-3-pbhagavatula@marvell.com>
Content-Type: text/plain; charset="iso-8859-1"

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(