Re: [dpdk-users] rte_rxmbuf_alloc() fails
Thank you for your answer. I finally found the culprit. It was my fault. I allocated useless mbufs from a mempool so the mbufs consume the mempool slightly. Thank you Keith :) 2016-12-07 23:16 GMT+09:00 Wiles, Keith : > > > On Dec 7, 2016, at 3:44 AM, 황규민 wrote: > > > > Hi, > > > > When I run my application DPDK doesn't receive any packets after about 3 > > minutes. > > So I figured out why rte_rx_burst() returned 0 and the reason is > > rte_rxmbuf_alloc() failure. rte_rxmbuf_alloc() == NULL. > > I printed some statistics and it showed that the prod's head and cons' > head > > are same. > > What does this mean? > > And rte_mempool_empty and rte_mempool_full always failed. > > To me the basic problem for mbuf allocation fails is the mbufs are not > being freed and there are many reasons for this to happen. > > Here are a few I have hit: > - The number of mbufs created is smaller then the TX flush threshold in > the PMD(s), which does not allow any packets to be freed until the > threshold is hit. > - The next one I have see is not checking the rte_eth_tx_burst() return > code, which is the number of mbufs that were able to be placed on the TX > ring. Then the application just blindly reuses the mbuf array pointer again > not realizing some mbufs are still in the list creating a mbuf leak. > > DPDK is very well tested so I would not expect any of the currently > released code to have any problems or bugs in not freeing mbufs. > > > > > Thanks. > > Regards, > Keith > >
Re: [dpdk-users] rte_rxmbuf_alloc() fails
> On Dec 7, 2016, at 3:44 AM, 황규민 wrote: > > Hi, > > When I run my application DPDK doesn't receive any packets after about 3 > minutes. > So I figured out why rte_rx_burst() returned 0 and the reason is > rte_rxmbuf_alloc() failure. rte_rxmbuf_alloc() == NULL. > I printed some statistics and it showed that the prod's head and cons' head > are same. > What does this mean? > And rte_mempool_empty and rte_mempool_full always failed. To me the basic problem for mbuf allocation fails is the mbufs are not being freed and there are many reasons for this to happen. Here are a few I have hit: - The number of mbufs created is smaller then the TX flush threshold in the PMD(s), which does not allow any packets to be freed until the threshold is hit. - The next one I have see is not checking the rte_eth_tx_burst() return code, which is the number of mbufs that were able to be placed on the TX ring. Then the application just blindly reuses the mbuf array pointer again not realizing some mbufs are still in the list creating a mbuf leak. DPDK is very well tested so I would not expect any of the currently released code to have any problems or bugs in not freeing mbufs. > > Thanks. Regards, Keith
Re: [dpdk-users] inshmem build in dpdk-16.11
You've probably can try vhost-user mechanism. Check out Open vSwitch guide https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK.rst 2016-12-07 14:44 GMT+03:00 Avi Cohen : > > > > -Original Message- > > From: Thomas Monjalon [mailto:thomas.monja...@6wind.com] > > Sent: Wednesday, 07 December, 2016 11:44 AM > > To: Avi Cohen > > Cc: users@dpdk.org > > Subject: Re: [dpdk-users] inshmem build in dpdk-16.11 > > > > 2016-12-07 08:07, Avi Cohen: > > > Hello, > > > Why the defconfig file for ivshmem is missing from the /config dir in > dpdk- > > 16.11 - cannot make install for the ivshmem build > > > > Because it has been removed: > > http://dpdk.org/commit/c711ccb > > There were some design issues and nobody wanted to improve it. > > So - what is the alternative build for ovs-dpdk for vm inter-comm (the > vm's are under same machine) ? > > -- *Best Regards* *Sergey Matov* *Mirantis Inc*
Re: [dpdk-users] inshmem build in dpdk-16.11
> -Original Message- > From: Thomas Monjalon [mailto:thomas.monja...@6wind.com] > Sent: Wednesday, 07 December, 2016 11:44 AM > To: Avi Cohen > Cc: users@dpdk.org > Subject: Re: [dpdk-users] inshmem build in dpdk-16.11 > > 2016-12-07 08:07, Avi Cohen: > > Hello, > > Why the defconfig file for ivshmem is missing from the /config dir in dpdk- > 16.11 - cannot make install for the ivshmem build > > Because it has been removed: > http://dpdk.org/commit/c711ccb > There were some design issues and nobody wanted to improve it. So - what is the alternative build for ovs-dpdk for vm inter-comm (the vm's are under same machine) ?
[dpdk-users] rte_rxmbuf_alloc() fails
Hi, When I run my application DPDK doesn't receive any packets after about 3 minutes. So I figured out why rte_rx_burst() returned 0 and the reason is rte_rxmbuf_alloc() failure. rte_rxmbuf_alloc() == NULL. I printed some statistics and it showed that the prod's head and cons' head are same. What does this mean? And rte_mempool_empty and rte_mempool_full always failed. Thanks.
Re: [dpdk-users] inshmem build in dpdk-16.11
2016-12-07 08:07, Avi Cohen: > Hello, > Why the defconfig file for ivshmem is missing from the /config dir in > dpdk-16.11 - cannot make install for the ivshmem build Because it has been removed: http://dpdk.org/commit/c711ccb There were some design issues and nobody wanted to improve it.
[dpdk-users] Fwd: Does DPDK 1.7.1 support jumboframes for VMXNET3
Hi, I am a new to DPDK. My product is using DPDK 1.6 and it does not support jumbo frames for VMXNET3. I have to upgrade to 1.7.1, but i am not able to find info on whether the jumbo frame support is being added for VMXNET3 or not. I can see some jumbo frame related patches being posted for vmxnet3 Do I need to apply the patches in 1.7.1 to make jumbo work/Is there any DPDK version which supports jumbo? Thanks, Kanika
[dpdk-users] inshmem build in dpdk-16.11
Hello, Why the defconfig file for ivshmem is missing from the /config dir in dpdk-16.11 - cannot make install for the ivshmem build Thanks avi