DPDK patches and discussions
 help / color / mirror / Atom feed
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
> 

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