All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Cc: Harry van Haaren <harry.van.haaren@intel.com>, dev@dpdk.org
Subject: Re: [RFC PATCH 0/7] RFC: EventDev Software PMD
Date: Thu, 17 Nov 2016 10:05:07 +0000	[thread overview]
Message-ID: <20161117100507.GA67928@bricha3-MOBL3.ger.corp.intel.com> (raw)
In-Reply-To: <20161116201924.GA32292@svelivela-lt.caveonetworks.com>

On Thu, Nov 17, 2016 at 01:49:25AM +0530, Jerin Jacob wrote:
> 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.

Looking forward to seeing this. Hopefully some of our code can be reused
on your side too, maybe the registration and args parsing bits, perhaps.

> 
> 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 ?

They should be largely equivalent, just that the DROP op can be done as
part of a burst. If they are not, it could be a bug in our
implementation, as it's still an early draft using this eventdev API.

> 2) device stats API can be based on capability, HW implementations may not
> support all the stats

Yes, this is something we were thinking about. It would be nice if we
could at least come up with a common set of stats - maybe even ones
tracked at an eventdev API level, e.g. nb enqueues/dequeues. As well as
that, we think the idea of an xstats API, like in ethdev, might work
well. For our software implementation, having visibility into the
scheduler behaviour can be important, so we'd like a way to report out
things like internal queue depths etc.

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

Yes, please do. I expect we'll need a good set of guidelines in order to
allow people to write truly portable apps using this API.

Thanks for the feedback.

/Bruce

> 
> Jerin
> 
> 

  reply	other threads:[~2016-11-17 10:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-16 18:00 [RFC PATCH 0/7] RFC: EventDev Software PMD Harry van Haaren
2016-11-16 18:00 ` [PATCH 1/7] eventdev: header and implementation Harry van Haaren
2016-11-16 18:00 ` [PATCH 2/7] eventdev: makefiles Harry van Haaren
2016-11-16 18:00 ` [PATCH 3/7] event/sw: software eventdev implementation Harry van Haaren
2016-11-16 18:00 ` [PATCH 4/7] event/sw: makefiles and config Harry van Haaren
2016-11-16 18:00 ` [PATCH 5/7] test/eventdev: unit and functional tests Harry van Haaren
2016-11-23  3:32   ` Jerin Jacob
2016-11-16 18:00 ` [PATCH 6/7] test/eventdev: unit func makefiles Harry van Haaren
2016-11-16 18:00 ` [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 ` [RFC PATCH 0/7] RFC: EventDev Software PMD Jerin Jacob
2016-11-17 10:05   ` Bruce Richardson [this message]
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=20161117100507.GA67928@bricha3-MOBL3.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=harry.van.haaren@intel.com \
    --cc=jerin.jacob@caviumnetworks.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.