DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Eads, Gage" <gage.eads@intel.com>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>,
	"Van Haaren, Harry" <harry.van.haaren@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"Richardson, Bruce" <bruce.richardson@intel.com>
Subject: Re: [dpdk-dev] [PATCH 1/3] examples/eventdev_pipeline: added sample app
Date: Wed, 10 May 2017 20:16:42 +0000	[thread overview]
Message-ID: <9184057F7FC11744A2107296B6B8EB1E01EA9A3E@FMSMSX108.amr.corp.intel.com> (raw)
In-Reply-To: <20170510141202.GA8431@jerin>



>  -----Original Message-----
>  From: Eads, Gage
>  Sent: Wednesday, May 10, 2017 11:41 AM
>  To: 'Jerin Jacob' <jerin.jacob@caviumnetworks.com>; Van Haaren, Harry
>  <harry.van.haaren@intel.com>
>  Cc: dev@dpdk.org; Richardson, Bruce <bruce.richardson@intel.com>
>  Subject: RE: [PATCH 1/3] examples/eventdev_pipeline: added sample app
>  
>  
>  
>  >  -----Original Message-----
>  >  From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
>  >  Sent: Wednesday, May 10, 2017 9:12 AM
>  >  To: Van Haaren, Harry <harry.van.haaren@intel.com>
>  >  Cc: dev@dpdk.org; Eads, Gage <gage.eads@intel.com>; Richardson, Bruce
>  > <bruce.richardson@intel.com>
>  >  Subject: Re: [PATCH 1/3] examples/eventdev_pipeline: added sample app
>  >
>  >  -----Original Message-----
>  >  > Date: Fri, 21 Apr 2017 10:51:37 +0100  > From: Harry van Haaren
>  > <harry.van.haaren@intel.com>  > To: dev@dpdk.org  > CC:
>  > jerin.jacob@caviumnetworks.com, Harry van Haaren  >
>  > <harry.van.haaren@intel.com>, Gage Eads <gage.eads@intel.com>, Bruce
>  > > Richardson <bruce.richardson@intel.com>  > Subject: [PATCH 1/3]
>  > examples/eventdev_pipeline: added sample app  > X-Mailer:
>  > git-send-email 2.7.4  >  > This commit adds a sample app for the
>  > eventdev library.
>  >  > The app has been tested with DPDK 17.05-rc2, hence this release (or
>  > > later) is recommended.
>  >  >
>  
>  <snip>
>  
>  >
>  >  > +		ev[i].op = RTE_EVENT_OP_NEW;
>  >  > +		ev[i].sched_type = queue_type;
>  >
>  >  The value of RTE_EVENT_QUEUE_CFG_ORDERED_ONLY !=
>  > RTE_SCHED_TYPE_ORDERED. So, we cannot assign .sched_type as
>  > queue_type.
>  >
>  >  I think, one option could be to avoid translation in application is
>  > to
>  >  - Remove RTE_EVENT_QUEUE_CFG_ALL_TYPES,
>  RTE_EVENT_QUEUE_CFG_*_ONLY
>  >  - Introduce a new RTE_EVENT_DEV_CAP_ to denote
>  > RTE_EVENT_QUEUE_CFG_ALL_TYPES cap ability
>  >  - add sched_type in struct rte_event_queue_conf. If capability flag is
>  >    not set then implementation takes sched_type value for the queue.
>  >
>  >  Any thoughts?
>  
>  I'm not sure this change is needed. We could create a sched_type[] array,
>  indexed by queue ID, for assigning the event's sched type.
>  
>  With the proposed approach, the sched_type assignment would still be needed
>  for "all types"-capable PMDs, so I'm not sure it buys us anything in the
>  application.
>  
>  >
>  >
>  >  > +		ev[i].queue_id = qid;
>  >  > +		ev[i].event_type = RTE_EVENT_TYPE_CPU;
>  >
>  >  IMO, RTE_EVENT_TYPE_ETHERNET is the better option here as it is
>  > producing  the Ethernet packets/events.
>  >
>  >  > +		ev[i].sub_event_type = 0;
>  >  > +		ev[i].priority = RTE_EVENT_DEV_PRIORITY_NORMAL;
>  >  > +		ev[i].mbuf = mbufs[i];
>  >  > +		RTE_SET_USED(prio_idx);
>  >  > +	}
>  >  > +
>  >  > +	const int nb_tx = rte_event_enqueue_burst(dev_id, port_id, ev,
>  >  > +nb_rx);
>  >
>  >  For producer pattern i.e a burst of RTE_EVENT_OP_NEW, OcteonTX can do
>  > burst operation unlike FORWARD case(which is one event at a
>  > time).Earlier, I  thought I can abstract the producer pattern in PMD,
>  > but it looks like we are  going with application driven producer model
>  > based on latest RFC.So I think,  we can add one flag to
>  > rte_event_enqueue_burst to denote all the events are  of type
>  RTE_EVENT_OP_NEW as hint.SW driver can ignore this.
>  >
>  >  I can send a patch for the same.
>  >
>  >  Any thoughts?
>  >
>  
>  Makes sense, though I'm a little hesitant about putting this sort of PMD-specific
>  hint in the enqueue API. Perhaps we can use the impl_opaque field, or have the
>  PMD inspect the event_type (if TYPE_ETHDEV, assume all packets in the burst
>  are NEWs)?
>  

Another idea -- what if the enqueue burst argument had these four values: Mixed, all RTE_EVENT_OP_NEW, all RTE_EVENT_OP_FWD, all RTE_EVENT_OP_RELEASE?
In the "all _" cases, the app doesn't need to set the event's op field and the PMD can potentially optimize for that type of operation.
In the "mixed" case the PMD would inspect each event's op field and handle them accordingly.

  parent reply	other threads:[~2017-05-10 20:16 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-21  9:51 [dpdk-dev] [PATCH 0/3] next-eventdev: RFC evendev pipeline " Harry van Haaren
2017-04-21  9:51 ` [dpdk-dev] [PATCH 1/3] examples/eventdev_pipeline: added " Harry van Haaren
2017-05-10 14:12   ` Jerin Jacob
2017-05-10 16:40     ` Eads, Gage
2017-05-10 20:16     ` Eads, Gage [this message]
2017-06-26 14:46     ` Hunt, David
2017-06-27  9:35       ` Jerin Jacob
2017-06-27 13:12         ` Hunt, David
2017-06-29  7:17           ` Jerin Jacob
2017-06-29 12:51             ` Hunt, David
2017-05-17 18:03   ` Jerin Jacob
2017-05-18 10:13     ` Bruce Richardson
2017-06-26 14:41   ` [dpdk-dev] [PATCH v2 0/3] next-eventdev: evendev pipeline " David Hunt
2017-06-26 14:41     ` [dpdk-dev] [PATCH v2 1/3] examples/eventdev_pipeline: added " David Hunt
2017-06-27 12:54       ` [dpdk-dev] [PATCH v3 0/3] next-eventdev: evendev pipeline " David Hunt
2017-06-27 12:54         ` [dpdk-dev] [PATCH v3 1/3] examples/eventdev_pipeline: added " David Hunt
2017-06-29 15:49           ` [dpdk-dev] [PATCH v4 0/3] next-eventdev: evendev pipeline " David Hunt
2017-06-29 15:49             ` [dpdk-dev] [PATCH v4 1/3] examples/eventdev_pipeline: added " David Hunt
2017-06-30 13:51               ` [dpdk-dev] [PATCH v5 0/3] next-eventdev: evendev pipeline " David Hunt
2017-06-30 13:51                 ` [dpdk-dev] [PATCH v5 1/3] examples/eventdev_pipeline: added " David Hunt
2017-07-03  3:57                   ` Jerin Jacob
2017-07-04  7:55                     ` Hunt, David
2017-07-05  5:30                       ` Jerin Jacob
2017-07-05 11:15                         ` Hunt, David
2017-07-06  3:31                           ` Jerin Jacob
2017-07-06 10:04                             ` Hunt, David
2017-07-06 10:39                               ` Hunt, David
2017-07-06 13:26                               ` Hunt, David
2017-07-06 13:38                                 ` Jerin Jacob
2017-07-04  8:14                   ` [dpdk-dev] [PATCH v6 0/3] next-eventdev: evendev pipeline " David Hunt
2017-07-04  8:14                     ` [dpdk-dev] [PATCH v6 1/3] examples/eventdev_pipeline: added " David Hunt
2017-07-05 12:52                       ` [dpdk-dev] [PATCH v7 0/3] next-eventdev: evendev pipeline " David Hunt
2017-07-05 12:52                         ` [dpdk-dev] [PATCH v7 1/3] examples/eventdev_pipeline: added " David Hunt
2017-07-06 14:35                           ` [dpdk-dev] [PATCH v8 0/3] next-eventdev: evendev pipeline " David Hunt
2017-07-06 14:35                             ` [dpdk-dev] [PATCH v8 1/3] examples/eventdev_pipeline_sw_pmd: add " David Hunt
2017-07-06 14:35                             ` [dpdk-dev] [PATCH v8 2/3] doc: add SW eventdev pipeline to sample app ug David Hunt
2017-07-06 14:35                             ` [dpdk-dev] [PATCH v8 3/3] doc: add eventdev library to programmers guide David Hunt
2017-07-07  4:50                             ` [dpdk-dev] [PATCH v8 0/3] next-eventdev: evendev pipeline sample app Jerin Jacob
2017-07-05 12:52                         ` [dpdk-dev] [PATCH v7 2/3] doc: add sw eventdev pipeline to sample app ug David Hunt
2017-07-05 12:52                         ` [dpdk-dev] [PATCH v7 3/3] doc: add eventdev library to programmers guide David Hunt
2017-07-04  8:14                     ` [dpdk-dev] [PATCH v6 2/3] doc: add sw eventdev pipeline to sample app ug David Hunt
2017-07-05  4:30                       ` Jerin Jacob
2017-07-04  8:14                     ` [dpdk-dev] [PATCH v6 3/3] doc: add eventdev library to programmers guide David Hunt
2017-06-30 13:51                 ` [dpdk-dev] [PATCH v5 2/3] doc: add sw eventdev pipeline to sample app ug David Hunt
2017-06-30 14:37                   ` Mcnamara, John
2017-07-03  5:37                   ` Jerin Jacob
2017-07-03  9:25                     ` Hunt, David
2017-07-03  9:32                       ` Jerin Jacob
2017-07-04  8:20                         ` Hunt, David
2017-06-30 13:51                 ` [dpdk-dev] [PATCH v5 3/3] doc: add eventdev library to programmers guide David Hunt
2017-06-30 14:38                   ` Mcnamara, John
2017-07-02 12:08                   ` Jerin Jacob
2017-06-29 15:49             ` [dpdk-dev] [PATCH v4 2/3] doc: add sw eventdev pipeline to sample app ug David Hunt
2017-06-30 12:25               ` Mcnamara, John
2017-06-29 15:49             ` [dpdk-dev] [PATCH v4 3/3] doc: add eventdev library to programmers guide David Hunt
2017-06-30 12:26               ` Mcnamara, John
2017-06-27 12:54         ` [dpdk-dev] [PATCH v3 2/3] doc: add eventdev pipeline to sample app ug David Hunt
2017-06-27 12:54         ` [dpdk-dev] [PATCH v3 3/3] doc: add eventdev library to programmers guide David Hunt
2017-06-26 14:41     ` [dpdk-dev] [PATCH v2 2/3] doc: add eventdev pipeline to sample app ug David Hunt
2017-06-26 14:41     ` [dpdk-dev] [PATCH v2 3/3] doc: add eventdev library to programmers guide David Hunt
2017-04-21  9:51 ` [dpdk-dev] [PATCH 2/3] doc: add eventdev pipeline to sample app ug Harry van Haaren
2017-04-21  9:51 ` [dpdk-dev] [PATCH 3/3] doc: add eventdev library to programmers guide Harry van Haaren
2017-04-21 11:14   ` Bruce Richardson
2017-04-21 14:00     ` Jerin Jacob

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=9184057F7FC11744A2107296B6B8EB1E01EA9A3E@FMSMSX108.amr.corp.intel.com \
    --to=gage.eads@intel.com \
    --cc=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 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).