MBUF Cluster Network freeze problem

Eric Norum eric.norum at usask.ca
Fri Dec 15 14:39:56 UTC 2000

bob wrote:
> Hello Eric / RTEMS users
> I have been testing again this morning (snapshot 20001201) and it is all
> looking very positive. I can now confirm that we don't need the recv before
> a close, to empty the data to save MBUFs.  I am fairly certain this was not
> always the case, but I could be wrong. The MBUF pool also seems to cope with
> the cable being pulled - that is, it recovers the used MBUFs all by itself
> after the timeout has occurred.
> The only problem we are seeing now is not a BSD stack problem as such, its
> when the task servicing the open socket stops calling read (because it has
> frozen). The open socket still allows incoming data into free MBUFs, fills
> the clusters and locks up the lot after a while. The only recovery seems to
> be a system reset. While the MBUF clusters are filling, the master
> application task still allows accept(), to spawn new tasks and sockets, and
> so the "big lockup" comes quite a while after this. This had us going for a
> while ;-)

You could try setting a smaller TCP window size to reduce the amount of
data held in the kernel, but this would reduce network throughput.

> To conclude, the TCP Stack looks very solid again, now that we have isolated
> the problems to our application.

.....and that's a good thing!

Eric Norum                                 eric.norum at usask.ca
Department of Electrical Engineering       Phone: (306) 966-5394
University of Saskatchewan                 FAX:   (306) 966-5407
Saskatoon, Canada.

More information about the users mailing list