From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: "Vangati, Narender" <narender.vangati@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>, "Eads, Gage" <gage.eads@intel.com>
Subject: Re: [dpdk-dev] [RFC] [PATCH v2] libeventdev: event driven programming model framework for DPDK
Date: Wed, 2 Nov 2016 18:27:44 +0530 [thread overview]
Message-ID: <20161102125743.GB2564@localhost.localdomain> (raw)
In-Reply-To: <20161102114837.GC40328@bricha3-MOBL3.ger.corp.intel.com>
On Wed, Nov 02, 2016 at 11:48:37AM +0000, Bruce Richardson wrote:
> On Wed, Nov 02, 2016 at 01:36:34PM +0530, Jerin Jacob wrote:
> > On Fri, Oct 28, 2016 at 01:48:57PM +0000, Van Haaren, Harry wrote:
> > > > -----Original Message-----
> > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> > > > Sent: Tuesday, October 25, 2016 6:49 PM
> > > <snip>
> > > >
> > > > Hi Community,
> > > >
> > > > So far, I have received constructive feedback from Intel, NXP and Linaro folks.
> > > > Let me know, if anyone else interested in contributing to the definition of eventdev?
> > > >
> > > > If there are no major issues in proposed spec, then Cavium would like work on
> > > > implementing and up-streaming the common code(lib/librte_eventdev/) and
> > > > an associated HW driver.(Requested minor changes of v2 will be addressed
> > > > in next version).
> > >
> > >
> > > Hi All,
> > >
> > > I've been looking at the eventdev API from a use-case point of view, and I'm unclear on a how the API caters for two uses. I have simplified these as much as possible, think of them as a theoretical unit-test for the API :)
> > >
> > >
> > > Fragmentation:
> > > 1. Dequeue 8 packets
> > > 2. Process 2 packets
> > > 3. Processing 3rd, this packet needs fragmentation into two packets
> > > 4. Process remaining 5 packets as normal
> > >
> > > What function calls does the application make to achieve this?
> > > In particular, I'm referring to how can the scheduler know that the 3rd packet is the one being fragmented, and how to keep packet order valid.
> > >
> >
> > OK. I will try to share my views on IP fragmentation on event _HW_
> > models(at least on Cavium HW) then we can see, how we can converge.
> >
> > First, The fragmentation specific logic should be decoupled from the event
> > model as it specific to packet and L3 layer(Not specific to generic event)
> >
> I would view fragmentation as just one example of a workload like this,
> multicast and broadcast may be two other cases. Yes, they all apply to
> packet, but the general feature support is just how to provide support
> for one event generating multiple further events which should be linked
> together for reordering. [I think this only really applies in the
AFIAK, There two different schemes to "maintain ordering", the first one
is based "reordering buffers" i.e as a list data structure used to hold the
event first and then when it comes correcting the order(ORDERED->ATOMIC),
correct the order based on the previous "reordering buffers".
But some HW implementation use "port" state based reordering scheme
(i.e no external reorder buffer to keep track the order).
So I think, To have portable application workflow, the use case where multiple
event generated based on one event, generated events needs to store in the parent event
and in the downstream, process them as required. like fragmentation example in
http://dpdk.org/ml/archives/dev/2016-November/049707.html
The above scheme should OK in your implementation. Right?
> reordered case - which leads to another question: in your experience
> do you see other event types other than packet being handled in a
> "reordered" manner?]
We use both timer events and crypto completion events etc in ORDERED
type. But not like, one event creates N event scheme on those.
>
> /Bruce
>
next prev parent reply other threads:[~2016-11-02 12:58 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-04 21:49 [dpdk-dev] [RFC] " Vangati, Narender
2016-10-05 7:24 ` Jerin Jacob
2016-10-07 10:40 ` Hemant Agrawal
2016-10-09 8:27 ` Jerin Jacob
2016-10-11 19:30 ` [dpdk-dev] [RFC] [PATCH v2] " Jerin Jacob
2016-10-14 4:14 ` Bill Fischofer
2016-10-14 9:26 ` Jerin Jacob
2016-10-14 10:30 ` Hemant Agrawal
2016-10-14 12:52 ` Jerin Jacob
2016-10-14 15:00 ` Eads, Gage
2016-10-17 4:18 ` Jerin Jacob
2016-10-17 20:26 ` Eads, Gage
2016-10-18 11:19 ` Jerin Jacob
2016-10-14 16:02 ` Bruce Richardson
2016-10-17 5:10 ` Jerin Jacob
2016-10-25 17:49 ` Jerin Jacob
2016-10-26 12:11 ` Van Haaren, Harry
2016-10-26 12:24 ` Jerin Jacob
2016-10-26 12:54 ` Bruce Richardson
2016-10-28 3:01 ` Jerin Jacob
2016-10-28 8:36 ` Bruce Richardson
2016-10-28 9:06 ` Jerin Jacob
2016-11-02 11:25 ` Jerin Jacob
2016-11-02 11:35 ` Bruce Richardson
2016-11-02 13:09 ` Jerin Jacob
2016-11-02 13:56 ` Bruce Richardson
2016-11-02 14:54 ` Jerin Jacob
2016-10-26 18:37 ` Vincent Jardin
2016-10-28 13:10 ` Van Haaren, Harry
2016-11-02 10:47 ` Jerin Jacob
2016-11-02 11:45 ` Bruce Richardson
2016-11-02 12:34 ` Jerin Jacob
2016-10-26 12:43 ` Bruce Richardson
2016-10-26 17:30 ` Jerin Jacob
2016-10-28 13:48 ` Van Haaren, Harry
2016-10-28 14:16 ` Bruce Richardson
2016-11-02 8:59 ` Jerin Jacob
2016-11-02 8:06 ` Jerin Jacob
2016-11-02 11:48 ` Bruce Richardson
2016-11-02 12:57 ` Jerin Jacob [this message]
2016-10-14 15:00 Francois Ozog
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=20161102125743.GB2564@localhost.localdomain \
--to=jerin.jacob@caviumnetworks.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=gage.eads@intel.com \
--cc=narender.vangati@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).