[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] out of PBUF_POOL, where to start seachring
From: |
Jan Menzel |
Subject: |
[lwip-users] out of PBUF_POOL, where to start seachring |
Date: |
Fri, 18 Dec 2015 14:59:23 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 |
Hi all!
In you application we run into problems with out of memory in PBUF_POOL
when the link is not stable. If the link comes up and goes down in less
then a second, it seems that buffers from PBUF_POOL are somehow lost.
The link-up/down detection is done in a separate thread, which reads the
phy status and calls netif_set_link_up()/down() using tcpip_callback().
Searching through all files in the the project, PBUF_POOL is primarily
used in the emac-driver (lpc17xx_40xx_emac.c provided by NXP) for
receive and transmit (I forced the driver to use "bounce_buffer" as I
run into trouble if the packet is send from a different RAM block).
I can see in the log files, that a PBUF_POOL error happens very
precisely almost every 60 seconds (there is a small increase of about
1..2ms like setting a retry timer after the allocation has failed).
So my question is, can anyone point out how the interaction between
LWIP and the emac driver works and where PBUF_POOLs might get lost.
Jan
- [lwip-users] out of PBUF_POOL, where to start seachring,
Jan Menzel <=