Hi,
I've noticed that "struct pktio_entry" locks 'rxl' and 'txl' are not
grabbed when you call odp_pktio_recv/send_queue() functions, only when
you have a single queue, which goes to the old codepath. This is
particularly dangerous when doing close, but other cases might have
trouble with it too.
I think we should ditch rxl and txl and grab/release the per-queue locks
in [un]lock_entry(). Maybe we should bring those locks into "struct
pktio_entry"?
Plus we should mention at the ODP_PKTIO_OP_MT_UNSAFE description that
the application is responsible for the synchronization of not jut just
send/recv, but other pktio operations which can interfere. Particularly
start/stop, close, term_*. Fortunately these status changing calls still
sync with the status query calls (e.g. link status, mtu get) through the
lock.
Regards,
Zoltan
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp