MBUF Cluster Network freeze problem
eric.norum at usask.ca
Fri Dec 15 14:39:56 UTC 2000
> 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
More information about the users