Re: 2.2.11: Complicated memory leak...

Jan Kasprzak (kas@informatics.muni.cz)
Thu, 12 Aug 1999 16:45:23 +0200


Frank Horowitz wrote:
: >okiedokey, here goes..
:
: OK, thanks for that primer...
:
: Have got /proc/memleak up and running and am seeing something like
: 335000 calls to rtl8139.c:1229 (which is a call to dev_alloc_skb())
: on the way to filling up memory.
:
I have a similar memory leak on my machine (tried 2.2.11 and
2.2.11-ac3, but w/ 2.2.10-pre2 it is OK). The shift+scrolllock reports
around 200000 network buffers in use and >400000 network buffer allocations,
and it is <5 minutes after system boot. This probably means it fails to return
every second skb.

This machine runs autofs, nfs client and user-space nfs server.
Modules and kmod active, but only binfmt_aout and autofs was loaded
at the time leak occured. Gcc 2.7.2.3 (RH5.2). Hardware is single PPro/200,
AHA2940 with one SCSI disk, EEpro 100. Kernel config and dmesg output are
attached, more info available on request.

-Yenya

# grep =[ym] /usr/src/linux/.config
CONFIG_EXPERIMENTAL=y
CONFIG_M686=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_1GB=y
CONFIG_MTRR=y
CONFIG_MODULES=y
CONFIG_KMOD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_QUIRKS=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_PCI_OLD_PROC=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_RAM=m
CONFIG_PARIDE_PARPORT=m
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_ALIAS=y
CONFIG_SKB_LARGE=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_TCQ_ON_BY_DEFAULT=y
CONFIG_SCSI_NCR53C8XX=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_EISA=y
CONFIG_EEXPRESS_PRO100=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_PRINTER=m
CONFIG_PRINTER_READBACK=y
CONFIG_WATCHDOG=y
CONFIG_SOFT_WATCHDOG=m
CONFIG_NVRAM=m
CONFIG_RTC=y
CONFIG_AUTOFS_FS=m
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_NFS_FS=y
CONFIG_NFSD=m
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_VGA_CONSOLE=y

# dmesg
Linux version 2.2.11-ac3 (root@tux.fi.muni.cz) (gcc version 2.7.2.3) #4 Thu Aug 12 16:03:15 CEST 1999
Detected 199435136 Hz processor.
Console: mono EGA+ 80x25
Calibrating delay loop... 199.07 BogoMIPS
Memory: 95784k/98304k available (872k kernel code, 416k reserved, 1180k data, 52k init)
CPU: Intel Pentium Pro stepping 07
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.35 (19990512) Richard Gooch (rgooch@atnf.csiro.au)
PCI: PCI BIOS revision 2.10 entry at 0xfd751
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: 00:00 [8086/1237]: Passive release enable (00)
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
Starting kswapd v 1.5
Serial driver version 4.27 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
ttyS02 at 0x03e8 (irq = 4) is a 16550A
pty: 256 Unix98 ptys configured
Real Time Clock Driver v1.09
(scsi0) <Adaptec AHA-294X Ultra SCSI host adapter> found at PCI 11/0
(scsi0) Wide Channel, SCSI ID=7, 16/255 SCBs
(scsi0) Warning - detected auto-termination
(scsi0) Please verify driver detected settings are correct.
(scsi0) If not, then please properly set the device termination
(scsi0) in the Adaptec SCSI BIOS by hitting CTRL-A when prompted
(scsi0) during machine bootup.
(scsi0) Cables present (Int-50 NO, Int-68 YES, Ext-68 NO)
(scsi0) Downloading sequencer code... 413 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.19/3.2.4
scsi : 1 host.
(scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 8.
Vendor: IBM Model: DORS-32160W Rev: WA0A
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
scsi : detected 1 SCSI disk total.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 4226725 [2063 MB] [2.1 GB]
eth0: Intel EtherExpress Pro 10/100 at 0xff80, 00:90:27:24:2A:9F, IRQ 10.
Board assembly 701738-003, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x24c9f043).
Receiver lock-up workaround activated.
Partition check:
sda: sda1 sda2 sda3
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 52k freed

-- 
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz>       http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\             Czech Linux Homepage:  http://www.linux.cz/              ///
| The case with NT is the most spectacular.  Seems, they have at least two |
| independant teams.  One introduces bugs, another invents workarounds.    |
| Silly bugs are followed by ugly workarounds. 8)       --Alexey Kuznetsov |

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/