[dpdk-dev] [PATCH 01/13] examples/eventdev: add Rx adapter support
Pavan Nikhilesh Bhagavatula
pbhagavatula at caviumnetworks.com
Tue Dec 12 09:17:58 CET 2017
On Mon, Dec 11, 2017 at 04:15:41PM +0000, Eads, Gage wrote:
> Hi Pavan,
>
> </snip>
>
> > static inline void
> > schedule_devices(unsigned int lcore_id) {
> > if (fdata->rx_core[lcore_id] && (fdata->rx_single ||
> > rte_atomic32_cmpset(&(fdata->rx_lock), 0, 1))) {
> > - producer();
> > + rte_service_run_iter_on_app_lcore(fdata->rxadptr_service_id,
> > 1);
> > rte_atomic32_clear((rte_atomic32_t *)&(fdata->rx_lock));
> > }
>
> The (rx_single || cmpset(rx_lock)) check should no longer be needed -- this logic is provided in rte_service_run_iter_on_app_lcore() and service_run(). The rx_lock can be dropped in general.
>
we could either remove the example level locks (or) keep the locks at
application level and disable them in service api through
rte_service_run_iter_on_app_lcore(<id>, 0).
If we choose to remove example level locks we could do something like
rte_service_run_iter_on_app_lcore(id, !rx_single)
> </snip>
>
> > + if (port_needed)
> > + prod_data.port_id = cons_data.port_id + 1;
> > + prod_data.dev_id = evdev_id;
> > + prod_data.qid = cdata.qid[0];
> > +
>
> Is prod_data still needed? Looks like we're only using it in main() to print the port ID (which may not be valid, depending on if port_needed is true).
Prod data is not needed I left it there to be consistent with the old example,
I will clean it up in the next version.
>
> Thanks,
> Gage
Thanks,
Pavan
More information about the dev
mailing list