[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] Pbuf starvation
From: |
Baptiste Chaboud-crousaz |
Subject: |
Re: [lwip-users] Pbuf starvation |
Date: |
Wed, 24 Jun 2009 08:28:25 +0200 |
User-agent: |
Internet Messaging Program (IMP) H3 (4.1.6) |
Hi,
I found the root cause of my problem: it comes from the fact that I
use UDP: udp_new + udp_bind. In fact, upon reception of UDP frames, my
application didn't free allocated pbuf. The problem is now
solved.
Baptiste
Quoting ?????? ?????? <address@hidden>:
>> As I can see once the packet is processed (except if it is a
reassembled
>> packet), the allocated pbuf ,in which the data are stored , is freed by
a
>> call to pbuf_free.
>
> That's not how it works. The pbuf (single pbuf or pbuf chain)
> allocated for received packet will only be freed once it is processed
> by the application. In fact, under raw API, it is application's
> responsibility to call pbuf_free() for such pbufs.
>
>> I must underline the fact that this problem doesn't occur when the
network
>> traffic is very low loaded. But when the network has to support a
heavy
>> loaded traffic, the problem appears rapidely.
>
> You will get pbuf starvation if the application doesn't free pbufs
> quickly enough for the incoming packets. That's natural, isn't it? The
> application cannot handle incoming data, packets start to get dropped,
> TCP slows down - that's normal.
>
>
> _______________________________________________
> lwip-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/lwip-users
>