Re: negative tcp_tw_count and other TIME_WAIT weirdness?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the tip.  I'll try the patch.

Another question - is there any chance that this bug could be
responsible for a slowdown in network processing.  Some of my machines
get themselves into a state in which their ability to serve
network traffic (they're running squid) is significantly reduced -
perhaps by a factor of two.  I wish I had more specific data, but at
this point it's a mystery.  What I'm really wondering is whether
there's any chance at all that this kernel bug could be behind my
performance problem, or should I look elsewhere.

TIA,
John Salmon


>>>>> "David" == David S Miller <davem@redhat.com> writes:

David>    From: John Salmon <jsalmon@thesalmons.org>
David>    Date: Mon, 30 Jun 2003 17:25:16 -0700

David>    I have several fairly busy servers reporting a negative value
David>    for tcp_tw_count.

David>  I have a sneaking suspicion that this patch (already in 2.4.22-preX)
David>  will fix your problem.

David> # This is a BitKeeper generated patch for the following project:
David> # Project Name: Linux kernel tree
David> # This patch format is intended for GNU patch command version 2.5 or higher.
David> # This patch includes the following deltas:
David> #	           ChangeSet	1.930.114.22 -> 1.930.114.23
David> #	net/ipv4/tcp_minisocks.c	1.13    -> 1.14   
David> #
David> # The following is the BitKeeper ChangeSet Log
David> # --------------------------------------------
David> # 03/05/07	olof@austin.ibm.com	1.930.114.23
David> # [TCP]: tcp_twkill leaves death row list in inconsistent state over tcp_timewait_kill.
David> # --------------------------------------------
David> #
David> diff -Nru a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
David> --- a/net/ipv4/tcp_minisocks.c	Tue Jul  1 01:25:26 2003
David> +++ b/net/ipv4/tcp_minisocks.c	Tue Jul  1 01:25:26 2003
David> @@ -447,6 +447,8 @@
 
David>  	while((tw = tcp_tw_death_row[tcp_tw_death_row_slot]) != NULL) {
David>  		tcp_tw_death_row[tcp_tw_death_row_slot] = tw->next_death;
David> +		if (tw->next_death)
David> +			tw->next_death->pprev_death = tw->pprev_death;
tw-> pprev_death = NULL;
David>  		spin_unlock(&tw_death_lock);
 

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux