Re: 2.5.70-mm1 Strangeness

From: Bongani Hlope (bonganilinux@mweb.co.za)
Date: Fri May 30 2003 - 14:30:24 EST


On Thu, 29 May 2003 17:51:35 -0700
Andrew Morton <akpm@xxxxxxxxx> wrote:

> "David S. Miller" <davem@xxxxxxxxxx> wrote:
> >
> > From: Andrew Morton <akpm@xxxxxxxxx>
> > Date: Thu, 29 May 2003 13:55:41 -0700
> >
> > The ip_dst_cache seems unreasonably large. Unless your desktop is a
> > backbone router or something.
> >
> > Lots of DST entries can result on any machine actually. We create one
> > per source address, not just per destination address. So if you talk
> > to a lot of sites, or lots of sites talk to you, you'll get a lot of
> > DST entries.
> >
> > Regardless, 80MB _IS_ excessive. That's nearly 400,000 entries.
> > It definitely indicates there is a leak somewhere.
> >
> > Although it say:
> >
> > ip_dst_cache 19470 19470 4096 1 1
> >
> > Which is 19470 active objects right?
>
> Yes, 19470 entries. But note that each entry is 4096 bytes.
>
> Something seems to have gone and bumped the object size from 240 bytes up
> to 4096. This is actually what I want CONFIG_DEBUG_PAGEALLOC to do, but I
> don't think it does it yet.
>
> Bongani, if you have CONFIG_DEBUG_PAGEALLOC enabled then please try turning
> it off. And maybe Manfred can throw some light on what slab has done
> there.
>

Turning off CONFIG_DEBUG_PAGEALLOC helped, everything is running smoothly
cat /proc/sys/net/ipv4/route/max_size gave me 65536

The slabs were reclaimed before the PC died. I had a script that checked /proc/slabinfo
every 10 seconds and dup it to a file. The last output was: (for the slabs you asked me to watch)

ip_dst_cache 61 61 4096 1 1
! tunables 24 12 0
! slabdata 61 61 0
! globalstat 342536 53783 340902 2351 0 25 25
! cpustat 0 2231 406871 314930 28356

ext3_inode_cache 4331 4331 4096 1 1
! tunables 24 12 0
! slabdata 4331 4331 0
! globalstat 34388 26451 33205 580 0 25 25
! cpustat 0 2459 33332 28998 2462


dentry_cache 11016 11016 4096 1 1
! tunables 24 12 0
! slabdata 11016 11016 0
! globalstat 109937 29529 94505 418 0 25 25
! cpustat 0 568369 96256 645381 8243

So it seems like CONFIG_DEBUG_PAGEALLOC was causing the problem.

Attachment: pgp00001.pgp
Description: PGP signature