This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: network problem more info


Andrew,

I finally found the problem.

Bsd_accept in net\bsd_tcpip\current\src\sys\kern\sockio.c wasn't freeing sa.

Add the following at or around line 447. It has "done:" label on the "#else"
portion of an "#if 0"

	if (sa)
 		FREE (sa, M_SONAME);

Rick Davis


-----Original Message-----
From: Andrew Lunn [mailto:andrew@lunn.ch] 
Sent: Friday, August 31, 2007 8:27 AM
To: Rick Davis
Cc: Ecos-Discuss
Subject: Re: [ECOS] network problem more info

On Fri, Aug 31, 2007 at 05:57:51AM -0400, Rick Davis wrote:
> To try to narrow down my memory issue. I wrote a client program that just
> creates a socket, connects to port 80 and then shuts down and closes the
> socket. Every time I run it 32 bytes of memory is allocated. If I keep
> running the application the memory is consumed. If I let thing sit for
> minutes, some of the memory is returned.

This part is normal behaviour. The server socket is not closed
immediately. It hangs around for a while so that it can eat any old
retry packets for the connection which are still flying around the
network. What you don't want is these old packets being injected into
a new connection stream.

What you need to do is run the test as before. Then stop the client
and watch the memory usage. It should slowly decrease as these old
sockets are freed after a timeout. Once it is stopped freeing, reached
a steady state, you can then investigate what looks like lost memory.

You probably want to go searching in the ecos mail archive, eg:

http://ecos.sourceware.org/ml/ecos-discuss/2003-10/msg00380.html

and

http://www.cygwin.com/ml/ecos-discuss/2003-12/msg00181.html

  Andrew


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]