FreeBSD not always releasing ACK MBUFs

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

FreeBSD not always releasing ACK MBUFs

Laurie Gellatly
Hi All,
I'm using eCosPro from pre eCos 3.0 to serve web pages with embedded images, CSS and javascripts.
Some pages are set to refresh their content and eventually the application runs out of MBUFs and restarts.
I can use my own web server or the CYGPKG_HTTPD server with the same result.

I used the CYGPKG_HTTPD server on port 81 to monitor network stats.
What I find is that the ‘HEADER’ type MBUFs grow and never shrink, eventually running out of MBUFs completely.
The amount of growth in each iteration varies.
When I dump the data in the HEADER MBUFs (modified support.c to print these short MBUFs) and compared
them to the network traffic seen by wireshark I have confirmed that the HEADERs are correct
ACK packets sent at the close of various HTTP get sequences.
For some reason they are not being released.

I also found that the number of timeout entries (NTIMEOUTS) in timeout.c (default 8) is WAY below what is needed (about 70 being used).

I'm thinking it's something to do with TIME_WAIT not closing the tcpcb when it should.

Has anyone seen this before or can suggest a way to troubleshoot this?

Thanks ...Laurie:{)




--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply | Threaded
Open this post in threaded view
|

AW: [ECOS] FreeBSD not always releasing ACK MBUFs

Richard Rauch
Hello,

which TCP/IP Stack are you using? FreeBSD or lwIP?

Richard

ITR GmbH
web:     http://www.itrgmbh.com
email:   [hidden email]
 

> -----Ursprüngliche Nachricht-----
> Von: [hidden email] [mailto:ecos-discuss-
> [hidden email]] Im Auftrag von Laurie Gellatly
> Gesendet: Sonntag, 28. April 2013 13:39
> An: [hidden email]
> Betreff: [ECOS] FreeBSD not always releasing ACK MBUFs
>
> Hi All,
> I'm using eCosPro from pre eCos 3.0 to serve web pages with embedded
> images, CSS and javascripts.
> Some pages are set to refresh their content and eventually the application runs
> out of MBUFs and restarts.
> I can use my own web server or the CYGPKG_HTTPD server with the same
> result.
>
> I used the CYGPKG_HTTPD server on port 81 to monitor network stats.
> What I find is that the ‘HEADER’ type MBUFs grow and never shrink, eventually
> running out of MBUFs completely.
> The amount of growth in each iteration varies.
> When I dump the data in the HEADER MBUFs (modified support.c to print these
> short MBUFs) and compared them to the network traffic seen by wireshark I
> have confirmed that the HEADERs are correct ACK packets sent at the close of
> various HTTP get sequences.
> For some reason they are not being released.
>
> I also found that the number of timeout entries (NTIMEOUTS) in timeout.c
> (default 8) is WAY below what is needed (about 70 being used).
>
> I'm thinking it's something to do with TIME_WAIT not closing the tcpcb when it
> should.
>
> Has anyone seen this before or can suggest a way to troubleshoot this?
>
> Thanks ...Laurie:{)
>
>
>
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply | Threaded
Open this post in threaded view
|

Re: AW: [ECOS] FreeBSD not always releasing ACK MBUFs

Laurie Gellatly
FreeBSD. How did I miss that important fact???

        ...Laurie:{)
+61 416 114419


On 28/04/2013, at 9:50 PM, "Richard Rauch" <[hidden email]> wrote:

> Hello,
>
> which TCP/IP Stack are you using? FreeBSD or lwIP?
>
> Richard
>
> ITR GmbH
> web:     http://www.itrgmbh.com
> email:   [hidden email]
>
>
>> -----Ursprüngliche Nachricht-----
>> Von: [hidden email] [mailto:ecos-discuss-
>> [hidden email]] Im Auftrag von Laurie Gellatly
>> Gesendet: Sonntag, 28. April 2013 13:39
>> An: [hidden email]
>> Betreff: [ECOS] FreeBSD not always releasing ACK MBUFs
>>
>> Hi All,
>> I'm using eCosPro from pre eCos 3.0 to serve web pages with embedded
>> images, CSS and javascripts.
>> Some pages are set to refresh their content and eventually the application runs
>> out of MBUFs and restarts.
>> I can use my own web server or the CYGPKG_HTTPD server with the same
>> result.
>>
>> I used the CYGPKG_HTTPD server on port 81 to monitor network stats.
>> What I find is that the ‘HEADER’ type MBUFs grow and never shrink, eventually
>> running out of MBUFs completely.
>> The amount of growth in each iteration varies.
>> When I dump the data in the HEADER MBUFs (modified support.c to print these
>> short MBUFs) and compared them to the network traffic seen by wireshark I
>> have confirmed that the HEADERs are correct ACK packets sent at the close of
>> various HTTP get sequences.
>> For some reason they are not being released.
>>
>> I also found that the number of timeout entries (NTIMEOUTS) in timeout.c
>> (default 8) is WAY below what is needed (about 70 being used).
>>
>> I'm thinking it's something to do with TIME_WAIT not closing the tcpcb when it
>> should.
>>
>> Has anyone seen this before or can suggest a way to troubleshoot this?
>>
>> Thanks            ...Laurie:{)
>>
>>
>>
>>
>> --
>> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
>> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>
>
>

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply | Threaded
Open this post in threaded view
|

AW: AW: [ECOS] FreeBSD not always releasing ACK MBUFs

Richard Rauch
Hmm, hard to say, what exactely is the reason for your problems.
The stack is well known for having several problems regarding mbufs and others...but I thought, the commercial eCosPro Version, you are using, should contain an improved stack version!

One of our porting projects was for Atmel AT91SAM9G45 and our customer Softing provided a bunch of improvements.
You could compare your version with our version, available at http://tiprom.itrgmbh.com/projects/ecos-on-atmel9g45 
Maybe it's helpful!

Richard


> -----Ursprüngliche Nachricht-----
> Von: [hidden email] [mailto:ecos-discuss-
> [hidden email]] Im Auftrag von Laurie Gellatly
> Gesendet: Sonntag, 28. April 2013 13:56
> An: Richard Rauch
> Cc: <[hidden email]>
> Betreff: Re: AW: [ECOS] FreeBSD not always releasing ACK MBUFs
>
> FreeBSD. How did I miss that important fact???
>
>         ...Laurie:{)
> +61 416 114419
>
>
> On 28/04/2013, at 9:50 PM, "Richard Rauch" <[hidden email]> wrote:
>
> > Hello,
> >
> > which TCP/IP Stack are you using? FreeBSD or lwIP?
> >
> > Richard
> >
> > ITR GmbH
> > web:     http://www.itrgmbh.com
> > email:   [hidden email]
> >
> >
> >> -----Ursprüngliche Nachricht-----
> >> Von: [hidden email] [mailto:ecos-discuss-
> >> [hidden email]] Im Auftrag von Laurie Gellatly
> >> Gesendet: Sonntag, 28. April 2013 13:39
> >> An: [hidden email]
> >> Betreff: [ECOS] FreeBSD not always releasing ACK MBUFs
> >>
> >> Hi All,
> >> I'm using eCosPro from pre eCos 3.0 to serve web pages with embedded
> >> images, CSS and javascripts.
> >> Some pages are set to refresh their content and eventually the
> >> application runs out of MBUFs and restarts.
> >> I can use my own web server or the CYGPKG_HTTPD server with the same
> >> result.
> >>
> >> I used the CYGPKG_HTTPD server on port 81 to monitor network stats.
> >> What I find is that the ‘HEADER’ type MBUFs grow and never shrink,
> >> eventually running out of MBUFs completely.
> >> The amount of growth in each iteration varies.
> >> When I dump the data in the HEADER MBUFs (modified support.c to print
> >> these short MBUFs) and compared them to the network traffic seen by
> >> wireshark I have confirmed that the HEADERs are correct ACK packets
> >> sent at the close of various HTTP get sequences.
> >> For some reason they are not being released.
> >>
> >> I also found that the number of timeout entries (NTIMEOUTS) in
> >> timeout.c (default 8) is WAY below what is needed (about 70 being used).
> >>
> >> I'm thinking it's something to do with TIME_WAIT not closing the
> >> tcpcb when it should.
> >>
> >> Has anyone seen this before or can suggest a way to troubleshoot this?
> >>
> >> Thanks            ...Laurie:{)
> >>
> >>
> >>
> >>
> >> --
> >> Before posting, please read the FAQ:
> >> http://ecos.sourceware.org/fom/ecos
> >> and search the list archive:
> >> http://ecos.sourceware.org/ml/ecos-discuss
> >
> >
> >
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply | Threaded
Open this post in threaded view
|

Re: AW: AW: [ECOS] FreeBSD not always releasing ACK MBUFs

Laurie Gellatly
Thanks for your help Richard.
I will look, compare and let you know what I find.

        ...Laurie:{)


On 28/04/2013, at 10:12 PM, "Richard Rauch" <[hidden email]> wrote:

> Hmm, hard to say, what exactely is the reason for your problems.
> The stack is well known for having several problems regarding mbufs and others...but I thought, the commercial eCosPro Version, you are using, should contain an improved stack version!
>
> One of our porting projects was for Atmel AT91SAM9G45 and our customer Softing provided a bunch of improvements.
> You could compare your version with our version, available at http://tiprom.itrgmbh.com/projects/ecos-on-atmel9g45 
> Maybe it's helpful!
>
> Richard
>
>
>> -----Ursprüngliche Nachricht-----
>> Von: [hidden email] [mailto:ecos-discuss-
>> [hidden email]] Im Auftrag von Laurie Gellatly
>> Gesendet: Sonntag, 28. April 2013 13:56
>> An: Richard Rauch
>> Cc: <[hidden email]>
>> Betreff: Re: AW: [ECOS] FreeBSD not always releasing ACK MBUFs
>>
>> FreeBSD. How did I miss that important fact???
>>
>>        ...Laurie:{)
>> +61 416 114419
>>
>>
>> On 28/04/2013, at 9:50 PM, "Richard Rauch" <[hidden email]> wrote:
>>
>>> Hello,
>>>
>>> which TCP/IP Stack are you using? FreeBSD or lwIP?
>>>
>>> Richard
>>>
>>> ITR GmbH
>>> web:     http://www.itrgmbh.com
>>> email:   [hidden email]
>>>
>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: [hidden email] [mailto:ecos-discuss-
>>>> [hidden email]] Im Auftrag von Laurie Gellatly
>>>> Gesendet: Sonntag, 28. April 2013 13:39
>>>> An: [hidden email]
>>>> Betreff: [ECOS] FreeBSD not always releasing ACK MBUFs
>>>>
>>>> Hi All,
>>>> I'm using eCosPro from pre eCos 3.0 to serve web pages with embedded
>>>> images, CSS and javascripts.
>>>> Some pages are set to refresh their content and eventually the
>>>> application runs out of MBUFs and restarts.
>>>> I can use my own web server or the CYGPKG_HTTPD server with the same
>>>> result.
>>>>
>>>> I used the CYGPKG_HTTPD server on port 81 to monitor network stats.
>>>> What I find is that the ‘HEADER’ type MBUFs grow and never shrink,
>>>> eventually running out of MBUFs completely.
>>>> The amount of growth in each iteration varies.
>>>> When I dump the data in the HEADER MBUFs (modified support.c to print
>>>> these short MBUFs) and compared them to the network traffic seen by
>>>> wireshark I have confirmed that the HEADERs are correct ACK packets
>>>> sent at the close of various HTTP get sequences.
>>>> For some reason they are not being released.
>>>>
>>>> I also found that the number of timeout entries (NTIMEOUTS) in
>>>> timeout.c (default 8) is WAY below what is needed (about 70 being used).
>>>>
>>>> I'm thinking it's something to do with TIME_WAIT not closing the
>>>> tcpcb when it should.
>>>>
>>>> Has anyone seen this before or can suggest a way to troubleshoot this?
>>>>
>>>> Thanks            ...Laurie:{)
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Before posting, please read the FAQ:
>>>> http://ecos.sourceware.org/fom/ecos
>>>> and search the list archive:
>>>> http://ecos.sourceware.org/ml/ecos-discuss
>>
>> --
>> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
>> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>
>
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>
>

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply | Threaded
Open this post in threaded view
|

RE: AW: [ECOS] FreeBSD not always releasing ACK MBUFs

Laurie Gellatly
In reply to this post by Richard Rauch
Hi Richard,
Thanks again. But I didn't find anything that has helped. ...Laurie:{)

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Richard Rauch
Sent: Sunday, 28 April 2013 10:13 PM
To: 'Laurie Gellatly'
Cc: [hidden email]
Subject: AW: AW: [ECOS] FreeBSD not always releasing ACK MBUFs

Hmm, hard to say, what exactely is the reason for your problems.
The stack is well known for having several problems regarding mbufs and others...but I thought, the commercial eCosPro Version, you are using, should contain an improved stack version!

One of our porting projects was for Atmel AT91SAM9G45 and our customer Softing provided a bunch of improvements.
You could compare your version with our version, available at http://tiprom.itrgmbh.com/projects/ecos-on-atmel9g45
Maybe it's helpful!

Richard


> -----Ursprüngliche Nachricht-----
> Von: [hidden email] [mailto:ecos-discuss-
> [hidden email]] Im Auftrag von Laurie Gellatly
> Gesendet: Sonntag, 28. April 2013 13:56
> An: Richard Rauch
> Cc: <[hidden email]>
> Betreff: Re: AW: [ECOS] FreeBSD not always releasing ACK MBUFs
>
> FreeBSD. How did I miss that important fact???
>
>         ...Laurie:{)
> +61 416 114419
>
>
> On 28/04/2013, at 9:50 PM, "Richard Rauch" <[hidden email]> wrote:
>
> > Hello,
> >
> > which TCP/IP Stack are you using? FreeBSD or lwIP?
> >
> > Richard
> >
> > ITR GmbH
> > web:     http://www.itrgmbh.com
> > email:   [hidden email]
> >
> >
> >> -----Ursprüngliche Nachricht-----
> >> Von: [hidden email] [mailto:ecos-discuss-
> >> [hidden email]] Im Auftrag von Laurie Gellatly
> >> Gesendet: Sonntag, 28. April 2013 13:39
> >> An: [hidden email]
> >> Betreff: [ECOS] FreeBSD not always releasing ACK MBUFs
> >>
> >> Hi All,
> >> I'm using eCosPro from pre eCos 3.0 to serve web pages with
> >> embedded images, CSS and javascripts.
> >> Some pages are set to refresh their content and eventually the
> >> application runs out of MBUFs and restarts.
> >> I can use my own web server or the CYGPKG_HTTPD server with the
> >> same result.
> >>
> >> I used the CYGPKG_HTTPD server on port 81 to monitor network stats.
> >> What I find is that the ‘HEADER’ type MBUFs grow and never shrink,
> >> eventually running out of MBUFs completely.
> >> The amount of growth in each iteration varies.
> >> When I dump the data in the HEADER MBUFs (modified support.c to
> >> print these short MBUFs) and compared them to the network traffic
> >> seen by wireshark I have confirmed that the HEADERs are correct ACK
> >> packets sent at the close of various HTTP get sequences.
> >> For some reason they are not being released.
> >>
> >> I also found that the number of timeout entries (NTIMEOUTS) in
> >> timeout.c (default 8) is WAY below what is needed (about 70 being used).
> >>
> >> I'm thinking it's something to do with TIME_WAIT not closing the
> >> tcpcb when it should.
> >>
> >> Has anyone seen this before or can suggest a way to troubleshoot this?
> >>
> >> Thanks            ...Laurie:{)
> >>
> >>
> >>
> >>
> >> --
> >> Before posting, please read the FAQ:
> >> http://ecos.sourceware.org/fom/ecos
> >> and search the list archive:
> >> http://ecos.sourceware.org/ml/ecos-discuss
> >
> >
> >
>
> --
> Before posting, please read the FAQ:
> http://ecos.sourceware.org/fom/ecos
> and search the list archive:
> http://ecos.sourceware.org/ml/ecos-discuss



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply | Threaded
Open this post in threaded view
|

RE: AW: [ECOS] FreeBSD not always releasing ACK MBUFs

Laurie Gellatly
In reply to this post by Richard Rauch
Just a quick update.
I found my problem. It was in the device driver.

Thanks for the help.

                        ...Laurie:{)

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Richard Rauch
Sent: Sunday, 28 April 2013 10:13 PM
To: 'Laurie Gellatly'
Cc: [hidden email]
Subject: AW: AW: [ECOS] FreeBSD not always releasing ACK MBUFs

Hmm, hard to say, what exactely is the reason for your problems.
The stack is well known for having several problems regarding mbufs and others...but I thought, the commercial eCosPro Version, you are using, should contain an improved stack version!

One of our porting projects was for Atmel AT91SAM9G45 and our customer Softing provided a bunch of improvements.
You could compare your version with our version, available at http://tiprom.itrgmbh.com/projects/ecos-on-atmel9g45
Maybe it's helpful!

Richard


> -----Ursprüngliche Nachricht-----
> Von: [hidden email] [mailto:ecos-discuss-
> [hidden email]] Im Auftrag von Laurie Gellatly
> Gesendet: Sonntag, 28. April 2013 13:56
> An: Richard Rauch
> Cc: <[hidden email]>
> Betreff: Re: AW: [ECOS] FreeBSD not always releasing ACK MBUFs
>
> FreeBSD. How did I miss that important fact???
>
>         ...Laurie:{)
>
>
> On 28/04/2013, at 9:50 PM, "Richard Rauch" <[hidden email]> wrote:
>
> > Hello,
> >
> > which TCP/IP Stack are you using? FreeBSD or lwIP?
> >
> > Richard
> >
> > ITR GmbH
> > web:     http://www.itrgmbh.com
> > email:   [hidden email]
> >
> >
> >> -----Ursprüngliche Nachricht-----
> >> Von: [hidden email] [mailto:ecos-discuss-
> >> [hidden email]] Im Auftrag von Laurie Gellatly
> >> Gesendet: Sonntag, 28. April 2013 13:39
> >> An: [hidden email]
> >> Betreff: [ECOS] FreeBSD not always releasing ACK MBUFs
> >>
> >> Hi All,
> >> I'm using eCosPro from pre eCos 3.0 to serve web pages with
> >> embedded images, CSS and javascripts.
> >> Some pages are set to refresh their content and eventually the
> >> application runs out of MBUFs and restarts.
> >> I can use my own web server or the CYGPKG_HTTPD server with the
> >> same result.
> >>
> >> I used the CYGPKG_HTTPD server on port 81 to monitor network stats.
> >> What I find is that the ‘HEADER’ type MBUFs grow and never shrink,
> >> eventually running out of MBUFs completely.
> >> The amount of growth in each iteration varies.
> >> When I dump the data in the HEADER MBUFs (modified support.c to
> >> print these short MBUFs) and compared them to the network traffic
> >> seen by wireshark I have confirmed that the HEADERs are correct ACK
> >> packets sent at the close of various HTTP get sequences.
> >> For some reason they are not being released.
> >>
> >> I also found that the number of timeout entries (NTIMEOUTS) in
> >> timeout.c (default 8) is WAY below what is needed (about 70 being used).
> >>
> >> I'm thinking it's something to do with TIME_WAIT not closing the
> >> tcpcb when it should.
> >>
> >> Has anyone seen this before or can suggest a way to troubleshoot this?
> >>
> >> Thanks            ...Laurie:{)
> >>
> >>
> >>
> >>
> >> --
> >> Before posting, please read the FAQ:
> >> http://ecos.sourceware.org/fom/ecos
> >> and search the list archive:
> >> http://ecos.sourceware.org/ml/ecos-discuss
> >
> >
> >
>
> --
> Before posting, please read the FAQ:
> http://ecos.sourceware.org/fom/ecos
> and search the list archive:
> http://ecos.sourceware.org/ml/ecos-discuss



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss