Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Feb 1999 03:43:43 -0600
From:      Chris Csanady <ccsanady@friley-185-205.res.iastate.edu>
To:        freebsd-current@FreeBSD.ORG
Cc:        freebsd-net@FreeBSD.ORG
Subject:   Re: Serious mbuf cluster leak.. 
Message-ID:  <19990211094343.960A410@friley-185-205.res.iastate.edu>
In-Reply-To: Your message of "Wed, 10 Feb 1999 17:49:20 CST." <19990210234920.2A11B6@friley-185-205.res.iastate.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help
After a while, I have determined the cause of the leak to be the
following commit.  Although, I can't seem to find any reason why
it would cause this behavior--reverting these files fixes it.
Any thoughts?

fenner      1999/01/20 09:32:01 PST

  Modified files:
    sys/kern             uipc_socket.c 
    sys/netinet          tcp_output.c tcp_usrreq.c tcp_var.h 
    sys/sys              protosw.h 
  Log:
  Add a flag, passed to pru_send routines, PRUS_MORETOCOME.  This
  flag means that there is more data to be put into the socket buffer.
  Use it in TCP to reduce the interaction between mbuf sizes and the
  Nagle algorithm.
  
  Based on:     "Justin C. Walker" <justin@apple.com>'s description of Apple's
                fix for this problem.
  
  Revision  Changes    Path
  1.50      +4 -2      src/sys/kern/uipc_socket.c
  1.32      +3 -2      src/sys/netinet/tcp_output.c
  1.40      +7 -2      src/sys/netinet/tcp_usrreq.c
  1.49      +18 -17    src/sys/netinet/tcp_var.h
  1.26      +2 -1      src/sys/sys/protosw.h

>I have been seeing a nasty cluster leak in both 3.0 stable and 4.0
>current as of today.  Until now, I thougt maybe it was something in
>my driver, athough after much careful looking over my code, it
>simply does not look possible.  Also, I downgraded to current of
>Dec 12, and the problem dissappears.  
>
>The odd thing is that the clusters that leak don't seem to be
>attached to mbufs.  Or at least there is not a 1-1 ratio.  Following
>is netstat output after a while of running netpipe in streaming
>mode.  (NPtcp -s; see ftp://ftp.scl.ameslab.gov/pub/netpipe)  Also,
>the leak only becomes apparent when the send write size is very
>large--several hundred K to several megabytes.
>
>Does anyone have any idea what this may be?  I really am not sure
>where to look aside from trying prorgressively newer kernels.  Also,
>I only have alphas to test on right now..
>
>puck:~> netstat -m
>211/416 mbufs in use:
>        116 mbufs allocated to data
>        95 mbufs allocated to packet headers
>1674/1688/2048 mbuf clusters in use (current/peak/max)
>3480 Kbytes allocated to network (97% in use)
>0 requests for memory denied
>0 requests for memory delayed
>0 calls to protocol drain routines
>
>
>Chris Csanady
>
>
>
>
>To Unsubscribe: send mail to majordomo@FreeBSD.org
>with "unsubscribe freebsd-net" in the body of the message
>




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990211094343.960A410>