rte_pktmbuf_alloc( ) returns same mbuf address which is not freed
Gokilavani A
gokilavanianbazhagan at gmail.com
Thu Oct 13 13:09:33 CEST 2022
Hi,
We are using *DPDK-19.11.11* for our application in which 4 construction
threads construct packets periodically, place it in a circular queue and
a transmission thread pushes that packet by reading that circular queue.
In the long run, We are facing a crash in *eth_igb_xmit_pkts() *call which
is called during transmission.
After an inspect with GDB, we came to know that the non-freed mbuf address
is returned by* rte_pktmbuf_alloc() *for another packet during
construction, even though that mbuf is still not transmitted by the
transmission thread, which makes the corresponding construction thread to
update the same memory again.
It is not clear why rte_pktmbuf_alloc() returns the mbuf pointer before
that pointer is not getting freed by rte_eth_tx_burst() call?.
We have created the mempool using the call,
*rte_pktmbuf_pool_create(txMemPoolName, 16384,RTE_MEMPOOL_CACHE_MAX_SIZE,0,
2048 +RTE_PKTMBUF_HEADROOM, rte_eth_dev_socket_id(0));*
Please guide us in resolving this issue.
Thanks,
Gokilavani A
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/users/attachments/20221013/0784c9e9/attachment.htm>
More information about the users
mailing list