On 10/20/2015 15:41, Stuart Haslam wrote:
+int ipc_pktio_recv(pktio_entry_t *pktio_entry, >+ odp_packet_t pkt_table[], unsigned len) >+{ >+ int pkts = 0; >+ int i; >+ odph_ring_t *r; >+ odph_ring_t *r_p; >+ >+ odp_packet_t remote_pkts[PKTIO_IPC_ENTRIES]; >+ void **ipcbufs_p = (void *)&remote_pkts; >+ uint32_t ready = odp_atomic_load_u32(&pktio_entry->s.ipc.ready); >+ >+ if (odp_unlikely(!ready)) { >+ if (pktio_entry->s.ipc.type == PKTIO_TYPE_IPC_MASTER) { >+ if (_ipc_master_post_init(pktio_entry)) >+ return 0; >+ } else if (pktio_entry->s.ipc.type == PKTIO_TYPE_IPC_SLAVE) { >+ if (_ipc_slave_post_init(pktio_entry)) >+ return 0; >+ }I thought you were going to get rid of these post_init calls, why are they needed here?
I don't know when second process will be connected to shm. After it's connected I need to map pool of second process to first one. That can go to odp_pktio_start(). I.e. first process can call start() until second process is not connected and than do post init.
Maxim. _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
