From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Harry van Haaren <harry.van.haaren@intel.com>
Cc: <dev@dpdk.org>
Subject: Re: [dpdk-dev] [RFC PATCH 0/7] RFC: EventDev Software PMD
Date: Thu, 17 Nov 2016 01:49:25 +0530 [thread overview]
Message-ID: <20161116201924.GA32292@svelivela-lt.caveonetworks.com> (raw)
In-Reply-To: <1479319207-130646-1-git-send-email-harry.van.haaren@intel.com>
On Wed, Nov 16, 2016 at 06:00:00PM +0000, Harry van Haaren wrote:
> This series of RFC patches implements the libeventdev API and a software
> eventdev PMD.
>
> The implementation here is intended to enable the community to use the
> eventdev API, specifically to test if the API serves the purpose that it is
> designed to. It should be noted this is an RFC implementation, and hence
> there should be no performance expectations.
>
> An RFC for the eventdev was sent in August[1] by Jerin Jacob of Cavium,
> which introduced the core concepts of the eventdev to the community. Since
> then there has been extensive discussion[2] on the mailing list, which had
> led to various modifications to the initial proposed API.
>
> The API as presented in the first patch contains a number of changes that
> have not yet been discussed. These changes were noticed during the
> implementation of the software eventdev PMD, and were added to the API to
> enable completion of the PMD. These modifications include a statistics API
> and a dump API. For more details, please refer to the commit message of the
> patch itself.
>
> The functionality provided by each of the patches is as follows:
> 1: Add eventdev API and library infrastructure
> 2: Enable compilation of library
> 3: Add software eventdev PMD
> 4: Enable compilation of PMD
> 5: Add test code
> 6: Enable test code compilation
> 7: Sample application demonstrating basic usage
>
> This breakdown of the patchset hopefully enables the community to experiment
> with the eventdev API, and allows us all to gain first-hand experience in
> using the eventdev API. Note also that this patchset has not passed
> checkpatch testing just yet - will fix for v2 :)
>
> As next steps I see value in discussing the proposed changes included in
> this version of the header file, while welcoming feedback from the community
> on the API in general too.
Thanks. Harry.
Even I was writing the similar stuff.I took a bit different approach on
the common code side, where I was trying to have fat common code(
lib/librte_eventdev/rte_eventdev.c) with start/stop support for the
slow-path code. I will post the implementation in few days and then we
can work on a converged solution.
Following sections of code does not have any overlap at all.
test/eventdev: unit and functional tests
event/sw: software eventdev implementation
examples/eventdev_pipeline: adding example
Some questions and initial feedback
1) I thought RTE_EVENT_OP_DROP and rte_event_release() are same ? No ?
2) device stats API can be based on capability, HW implementations may not
support all the stats
3) From the HW implementation perspective, eventdev_pipeline application
needs to have a lot of changes.I will post the comments in coming days
and we can work together on the converged solution.
Jerin
>
> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
>
> [1] http://dpdk.org/ml/archives/dev/2016-August/045181.html
> [2] http://dpdk.org/ml/archives/dev/2016-October/thread.html#48196
>
> Harry van Haaren (7):
> eventdev: header and implementation
> eventdev: makefiles
> event/sw: software eventdev implementation
> event/sw: makefiles and config
> test/eventdev: unit and functional tests
> test/eventdev: unit func makefiles
> examples/eventdev_pipeline: adding example
>
> app/test/Makefile | 3 +
> app/test/test_eventdev_func.c | 1272 ++++++++++++++++++++++++
> app/test/test_eventdev_unit.c | 557 +++++++++++
> config/common_base | 12 +
> drivers/Makefile | 1 +
> drivers/event/Makefile | 36 +
> drivers/event/sw/Makefile | 59 ++
> drivers/event/sw/event_ring.h | 142 +++
> drivers/event/sw/iq_ring.h | 160 +++
> drivers/event/sw/rte_pmd_evdev_sw_version.map | 3 +
> drivers/event/sw/sw_evdev.c | 619 ++++++++++++
> drivers/event/sw/sw_evdev.h | 234 +++++
> drivers/event/sw/sw_evdev_scheduler.c | 660 +++++++++++++
> drivers/event/sw/sw_evdev_worker.c | 218 +++++
> examples/eventdev_pipeline/Makefile | 49 +
> examples/eventdev_pipeline/main.c | 717 ++++++++++++++
> lib/Makefile | 1 +
> lib/librte_eal/common/include/rte_vdev.h | 1 +
> lib/librte_eventdev/Makefile | 54 ++
> lib/librte_eventdev/rte_eventdev.c | 466 +++++++++
> lib/librte_eventdev/rte_eventdev.h | 1289 +++++++++++++++++++++++++
> lib/librte_eventdev/rte_eventdev_ops.h | 177 ++++
> lib/librte_eventdev/rte_eventdev_pmd.h | 69 ++
> lib/librte_eventdev/rte_eventdev_version.map | 33 +
> mk/rte.app.mk | 5 +
> 25 files changed, 6837 insertions(+)
> create mode 100644 app/test/test_eventdev_func.c
> create mode 100644 app/test/test_eventdev_unit.c
> create mode 100644 drivers/event/Makefile
> create mode 100644 drivers/event/sw/Makefile
> create mode 100644 drivers/event/sw/event_ring.h
> create mode 100644 drivers/event/sw/iq_ring.h
> create mode 100644 drivers/event/sw/rte_pmd_evdev_sw_version.map
> create mode 100644 drivers/event/sw/sw_evdev.c
> create mode 100644 drivers/event/sw/sw_evdev.h
> create mode 100644 drivers/event/sw/sw_evdev_scheduler.c
> create mode 100644 drivers/event/sw/sw_evdev_worker.c
> create mode 100644 examples/eventdev_pipeline/Makefile
> create mode 100644 examples/eventdev_pipeline/main.c
> create mode 100644 lib/librte_eventdev/Makefile
> create mode 100644 lib/librte_eventdev/rte_eventdev.c
> create mode 100644 lib/librte_eventdev/rte_eventdev.h
> create mode 100644 lib/librte_eventdev/rte_eventdev_ops.h
> create mode 100644 lib/librte_eventdev/rte_eventdev_pmd.h
> create mode 100644 lib/librte_eventdev/rte_eventdev_version.map
>
> --
> 2.7.4
>
next prev parent reply other threads:[~2016-11-16 20:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-16 18:00 Harry van Haaren
2016-11-16 18:00 ` [dpdk-dev] [PATCH 1/7] eventdev: header and implementation Harry van Haaren
2016-11-16 18:00 ` [dpdk-dev] [PATCH 2/7] eventdev: makefiles Harry van Haaren
2016-11-16 18:00 ` [dpdk-dev] [PATCH 3/7] event/sw: software eventdev implementation Harry van Haaren
2016-11-16 18:00 ` [dpdk-dev] [PATCH 4/7] event/sw: makefiles and config Harry van Haaren
2016-11-16 18:00 ` [dpdk-dev] [PATCH 5/7] test/eventdev: unit and functional tests Harry van Haaren
2016-11-23 3:32 ` Jerin Jacob
2016-11-16 18:00 ` [dpdk-dev] [PATCH 6/7] test/eventdev: unit func makefiles Harry van Haaren
2016-11-16 18:00 ` [dpdk-dev] [PATCH 7/7] examples/eventdev_pipeline: adding example Harry van Haaren
2016-11-22 6:02 ` Jerin Jacob
2016-11-22 14:04 ` Richardson, Bruce
2016-11-23 0:30 ` Jerin Jacob
2016-11-16 20:19 ` Jerin Jacob [this message]
2016-11-17 10:05 ` [dpdk-dev] [RFC PATCH 0/7] RFC: EventDev Software PMD Bruce Richardson
2016-11-18 22:23 ` Jerin Jacob
2016-11-21 9:48 ` Bruce Richardson
2016-11-21 20:18 ` Jerin Jacob
2016-11-22 14:05 ` Richardson, Bruce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161116201924.GA32292@svelivela-lt.caveonetworks.com \
--to=jerin.jacob@caviumnetworks.com \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).