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

孙立明 sunliming at kylinos.cn
Wed Mar 13 01:31:53 CET 2019


help
 
 
------------------ Original ------------------
From:  "dev-request"<dev-request at dpdk.org>;
Date:  Wed, Mar 13, 2019 04:51 AM
To:  "dev"<dev at dpdk.org>; 

Subject:  dev Digest, Vol 238, Issue 42

 
Send dev mailing list submissions to
	dev at 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 at dpdk.org

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

From: Pavan Nikhilesh <pbhagavatula at 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 at 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



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

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

From: Pavan Nikhilesh <pbhagavatula at 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 at 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



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

Message: 3
Date: Tue, 12 Mar 2019 20:46:45 +0000
From: Luca Boccassi <bluca at debian.org>
To: Kevin Traynor <ktraynor at redhat.com>, "dev at dpdk.org" <dev at dpdk.org>
Cc: Yongseok Koh <yskoh at mellanox.com>, Thomas Monjalon
	<thomas at monjalon.net>,  Ferruh Yigit <ferruh.yigit at intel.com>, John
	McNamara <john.mcnamara at intel.com>, Aaron Conole <aconole at redhat.com>,
	"Walker, Benjamin" <benjamin.walker at intel.com>, Jay Rolette
	<rolette at infinite.io>
Subject: Re: [dpdk-dev] DPDK short term stable maintenance
Message-ID:
	<834f085314caae4091cfc02c5c904a6efaed3141.camel at 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 at monjalon.net>
To: Luca Boccassi <bluca at debian.org>, Kevin Traynor
	<ktraynor at redhat.com>
Cc: "dev at dpdk.org" <dev at dpdk.org>, Yongseok Koh <yskoh at mellanox.com>,
	Ferruh Yigit <ferruh.yigit at intel.com>, John McNamara
	<john.mcnamara at intel.com>, Aaron Conole <aconole at redhat.com>, "Walker,
	Benjamin" <benjamin.walker at intel.com>, Jay Rolette
	<rolette at infinite.io>
Subject: Re: [dpdk-dev] DPDK short term stable maintenance
Message-ID: <4664304.LLR2pzfpgk at 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
************************************


More information about the dev mailing list