public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Deomid Ryabkov <myself@rojer.pp.ru>
To: linux-kernel@vger.kernel.org
Subject: Send-Q on UDP socket growing steadily - why?
Date: Sun, 30 Mar 2008 06:43:44 +0100	[thread overview]
Message-ID: <47EF2890.9010704@rojer.pp.ru> (raw)

This has started recently and i'm at a loss as to why.
Send-Q on a moderately active UDP socket keeps growing steadily until it 
reaches ~128K (wmem_max?) at which point socket writes start failing.
The application in question is standard ntpd from Fedora 7, kernel is 
the latest available for the distro, that is
2.6.23.15-80.fc7 #1 SMP Sun Feb 10 16:52:18 EST 2008 x86_64

BIND, running on the same machine, does not exhibit this problem, but 
that may be because it does not get nearly as much load as ntpd,
which is part of the pool.ntp.org. That said, load is really not very 
high, on the order of 10 QPS, and machine is 99+% idle.
ntpd seems to be doing its usual select-recvmsg-sendto routine, nothing 
out of the ordinary.
And yet, Send-Q keeps growing at _exactly_ 360 bytes every 10 seconds, 
here's a sample of output shortly after ntpd restart:

# while sleep 1; do netstat -na | grep 177:123; done
udp        0  17280 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17280 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17280 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17280 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17280 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17280 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17280 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17280 89.111.168.177:123          
0.0.0.0:*                              
-------> +360 bytes
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
udp        0  17640 89.111.168.177:123          
0.0.0.0:*                              
-------> +360 bytes, 10 seconds later
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
udp        0  18000 89.111.168.177:123          
0.0.0.0:*                              
-------> +360 bytes, 10 seconds later
udp        0  18360 89.111.168.177:123          0.0.0.0:*              
[...]
etc, etc.

My understanding is that non-empty send queue for UDP sockets should be 
very rare occurence,
maybe under extreme loads. And then there's this steady creep...
What's going on? It almost looks like something is leaking somewhere.

-- 
Deomid Ryabkov aka Rojer
myself@rojer.pp.ru
rojer@sysadmins.ru
ICQ: 8025844


             reply	other threads:[~2008-03-30  5:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-30  5:43 Deomid Ryabkov [this message]
2008-03-30 22:01 ` Send-Q on UDP socket growing steadily - why? Denys Vlasenko
2008-05-13 18:56   ` Deomid Ryabkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47EF2890.9010704@rojer.pp.ru \
    --to=myself@rojer.pp.ru \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox