rte_pktmbuf_alloc( ) returns same mbuf address which is not freed
Gokilavani A
gokilavanianbazhagan at gmail.com
Tue Oct 25 10:41:26 CEST 2022
Hi,
We have been blocked by this issue.
Can anyone help us to resolve the issue?
Thanks
Gokilavani A
On Thu, Oct 13, 2022 at 4:39 PM Gokilavani A <gokilavanianbazhagan at gmail.com>
wrote:
> 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/20221025/f432bbc9/attachment.htm>
More information about the users
mailing list