Hi, I think there are 2 ways in which pkt I/O will be used: 1) Polling method - in which one pkt I/O will be created for each receive worker thread. In this case, support for ODP_PKTIO_OP_MT_SAFE is not required. 2) Event method - the scheduler is used to receive packets. In this case the scheduler will provide the exclusive access to a pkt I/O. Again in this case support for ODP_PKTIO_OP_MT_SAFE is not required.
I am thinking, for high throughput packet I/Os such as dpdk or ODP native drivers (in the future), we do not need to support ODP_PKTIO_OP_MT_SAFE. The odp_pktio_open API call can return an error if ODP_PKTIO_OP_MT_SAFE is asked for. We could keep the support for ODP_PKTIO_OP_MT_SAFE for other pkt I/Os. This will save space in cache for the locks as well as instruction cycles. Thank you, Honnappa