On Thu, Jan 26, 2017 at 08:39:57PM +0000, Eads, Gage wrote:
> 
> 
> >  -----Original Message-----
> >  From: Jerin Jacob [mailto:jerin.ja...@caviumnetworks.com]
> >  Sent: Thursday, January 26, 2017 3:39 AM
> >  To: Eads, Gage <gage.e...@intel.com>
> >  Cc: Richardson, Bruce <bruce.richard...@intel.com>; 'dev@dpdk.org'
> >  <dev@dpdk.org>; 'thomas.monja...@6wind.com'
> >  <thomas.monja...@6wind.com>; 'hemant.agra...@nxp.com'
> >  <hemant.agra...@nxp.com>; Van Haaren, Harry
> >  <harry.van.haa...@intel.com>; McDaniel, Timothy
> >  <timothy.mcdan...@intel.com>
> >  Subject: Re: [dpdk-dev] [PATCH v4 1/6] eventdev: introduce event driven
> >  programming model
> >  
> >  Considering different implementation has different behaviors, How about
> >  enumerating the overflow policy at the port configuration time? and let
> >  implementation act accordingly to avoid fast-patch change in
> >  application(effects in all implementation irrespective of the capability)
> >  
> >  possible enumerating value at the port configuration time,
> >  - PANIC or similar scheme to denote it cannot proceed
> >  - TAIL DROP
> >  or any expected application behavior you want to add
> 
> I wonder if that's necessary? Hardware behavior a) means the function will 
> always return nb_events. If hardware drops the event(s), I assume 
> enqueue_burst would still return nb_events and the app behaves as if all 
> events were sent. If the enqueue fails (ret < nb_events), app software could 
> check rte_errno and take the action it deems necessary. So all fast-path 
> enqueue code could look like:
> 
> ret = rte_event_enqueue_burst(..., nb_events);
> if (ret < nb_events) {

I was concerned about this section of the application code get bloated with
drivers specific actions. But, If we want the actions based on per event then
I think, it makes sense to update the specification with new rte_errno values
for enqueue.

>     ....
> }

Reply via email to