On Thu, Jan 26, 2017 at 08:39:57PM +0000, Eads, Gage wrote:
> 
> 
> >  -----Original Message-----
> >  From: Jerin Jacob [mailto:[email protected]]
> >  Sent: Thursday, January 26, 2017 3:39 AM
> >  To: Eads, Gage <[email protected]>
> >  Cc: Richardson, Bruce <[email protected]>; '[email protected]'
> >  <[email protected]>; '[email protected]'
> >  <[email protected]>; '[email protected]'
> >  <[email protected]>; Van Haaren, Harry
> >  <[email protected]>; McDaniel, Timothy
> >  <[email protected]>
> >  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