Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Jan 2007 18:02:24 GMT
From:      Rudi Mathijssen<r.mathijssen@iris-ict.nl>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/108485: stress2-udp with realtek 8169S gigabit interface shows mbuf leak
Message-ID:  <200701281802.l0SI2OPW068901@www.freebsd.org>
Resent-Message-ID: <200701281810.l0SIAJOR068004@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         108485
>Category:       kern
>Synopsis:       stress2-udp with realtek 8169S gigabit interface shows mbuf leak
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 28 18:10:19 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Rudi Mathijssen
>Release:        6.2-RELEASE
>Organization:
IRIS-ICT
>Environment:
FreeBSD witje.rudi.here 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Sun Jan 28 13:29:19 CET 2007     root@witje.rudi.here:/usr/src/sys/i386/compile/WITJE  i386
>Description:
The udp process in the stress2 suite sends bursts of udp traffic (udp port 9) to a blast host. After some time (mostly within 6 hours) the re0 interface becomes unresponsive. After killing all processes of stress2, 642 mbuf clusters and 1156 mbufs remain in use (idle system: 128 mbuf clusters and 129 mbufs), but netstat -n reveals no more open connections, so it appears to be an mbuf "leak". A third system can still communicate with the blast host. After an ifconfig re0 down/up cycle the mbufs are released, and the network operates normally again. 
The (extremely fast!) system is an Asus K8N (nforce3) with 512MB RAM and an AMD Sempron 3000+ CPU.
The blast host is a FreeBSD-5.3 system with a re0 interface. Maximum tcp data transfer speed between these two systems is around 30MB/s, so the Gigabit link appears to operate normally. During the udp bursts, a lot of kernel messages appear on the blast host:
Limiting icmp unreach response from <number> to 200 packets/sec, where <number> varies between 201 and 100000.

Increasing kern.ipc.maxsockbuf from the default 256k to 1M has no effect.
Cooling the realtek chip (which gets really hot!) has no effect.

With a ti0 interface, the problem appears not to occur, so far, but the standard 72-hour stress2 period is not over yet... -- I borrowed a compaq DEGPA card, which achieves even 35MB/s, but it costs more than the rest of the computer and needs an extra system fan...

It is possible that the speed of the K8N has something to do with it, as I don't recall any problems like this during earlier tests with 6.2-RC1 and 6.2-RC2 on a (much slower) P4/2.8GHz (i865PE) system.

>How-To-Repeat:
You need two systems, one with 6.2-RELEASE or 6.2-RC2, one with any version (I think). Both systems have a realtek 8169S (re0) interface. 
Run the FreeBSD Kernel Stress Test Suite (stress2) with INCARNATIONS set to 100 and BLASTHOST set to a server with port 9 (discard) enabled. When a ping -qA on the blast host begins to beep, you know the shit hit the fan.
>Fix:
Walk to the console, log in as root and enter
ifconfig re0 down
ifconfig re0 up
Bit this is not really a fix, is it?
>Release-Note:
>Audit-Trail:
>Unformatted:



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