This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
FreeBSD not always releasing ACK MBUFs
- From: "Laurie Gellatly" <laurie dot gellatly at netic dot com>
- To: <ecos-discuss at sourceware dot org>
- Date: Sun, 28 Apr 2013 21:38:55 +1000
- Subject: 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