2015-07-03 10:57, Bruce Richardson:
> On Thu, Jul 02, 2015 at 09:04:48PM +0000, Sanford, Robert wrote:
> > When one adds multiple post-RX-burst callbacks to a queue, their execution 
> > order is the opposite of the order in which they are added. For example, we 
> > add callback A( ), and then we add callback B( ). When we call 
> > rte_eth_rx_burst, after invoking the device's rx_pkt_burst function, it 
> > will invoke B( ), and then A( ). The same goes for pre-TX-burst callbacks, 
> > too.
> > 
> > This is counter-intuitive. Shouldn't we either execute the callbacks in the 
> > same order that we add them (by changing the internals of the add-APIs), or 
> > change the add-APIs to allow one to specify whether a callback is added to 
> > the head or tail of the callback list? At the least, we could document the 
> > expected behavior.
> > Any thoughts on this?
> > 
> Makes sense. I would agree that having the callbacks called in order of 
> addition
> makes more sense. 
> Having the order configurable might be useful, but would require an API 
> change,
> so I'd only look to change that if it really proves necessary. If the callback
> order is consistent and behaves logically (i.e. order of call == order of 
> add),
> can the app not ensure the callbacks are added in the correct order?

+1 to improve behaviour without changing the API.
If the applications can manage with a simple DPDK API, it's better for everyone.

Reply via email to