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.

</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).

Thanks,
Gage

Reply via email to