> -----Original Message----- > From: Richardson, Bruce > Sent: Monday, February 13, 2017 6:08 AM > To: Jerin Jacob <[email protected]> > Cc: Eads, Gage <[email protected]>; [email protected]; > [email protected]; Van Haaren, Harry <[email protected]>; > [email protected] > Subject: Re: [PATCH] eventdev: Add rte_errno return values to the enqueue and > dequeue functions > > On Mon, Feb 13, 2017 at 05:18:11PM +0530, Jerin Jacob wrote: > > On Mon, Feb 13, 2017 at 10:38:55AM +0000, Bruce Richardson wrote: > > > On Fri, Feb 10, 2017 at 03:02:21PM -0600, Gage Eads wrote: > > > > This change allows user software to differentiate between an > > > > invalid argument (such as an invalid queue_id or sched_type in an > > > > enqueued event) and backpressure from the event device. > > > > > > > > The port and device ID checks are placed in > > > > RTE_LIBRTE_EVENTDEV_DEBUG header guards to avoid the performance > hit in non-debug execution. > > > > > > > > Signed-off-by: Gage Eads <[email protected]> > > > > --- > > > > > > Do we have some idea of the performance hit from these? It may be > > > too soon to know, given we don't have many drivers to test with, but > > > if there is no perf hit seen with the SW driver, I think we should > > > look to just always do this, rather than having it compile-time off. > > > If it does > > > > IMO, It is better put to under compile-time like ethdev. It is > > difficult predict the performance regression on wide range of cores > > that DPDK runs now. I think we need to add following additional checks > > based on Gage header file change > > > > 1) Per event queue ID is valid or not? > > 2) Per event's sched type doesn't match the capabilities of the destination > queue. > > > > Ok, if we are expanding the number of checks then I definitely think it > needs to > be compile-time selected.
My thinking is that, unlike checking the dev ID or port ID, per-event checks should be in the PMD itself since (presumably) it will loop over the events anyway. I also think it makes sense for the per-event error checking not to be compile-time selectable because a PMD needs to handle the invalid queue ID or sched_type case anyway. > > /Bruce > > > > > prove to be a performance problem we can look to #ifdef it out later. > > > > > > /Bruce

