* Re: 2.6.22-stable causes oomkiller to be invoked
[not found] ` <20071214182802.GC2576@linux.vnet.ibm.com>
@ 2007-12-14 23:05 ` Andrew Morton
2007-12-15 3:52 ` Dhaval Giani
0 siblings, 1 reply; 17+ messages in thread
From: Andrew Morton @ 2007-12-14 23:05 UTC (permalink / raw)
To: Dhaval Giani
Cc: htejun, gregkh, stable, linux-kernel, maneesh, vatsa, balbir,
ego, linux-mm
On Fri, 14 Dec 2007 23:58:02 +0530
Dhaval Giani <dhaval@linux.vnet.ibm.com> wrote:
> On Fri, Dec 14, 2007 at 09:50:23AM -0800, Andrew Morton wrote:
> > On Fri, 14 Dec 2007 21:46:37 +0530 Dhaval Giani <dhaval@linux.vnet.ibm.com> wrote:
> >
> > > On Sat, Dec 15, 2007 at 12:54:09AM +0900, Tejun Heo wrote:
> > > > Dhaval Giani wrote:
> > > > > XXX sysfs_page_cnt=1
> > > >
> > > > Hmm.. so, sysfs r/w buffer wasn't the culprit. I'm curious what eats up
> > > > all your low memory. Please do the following.
> > > >
> > > > 1. Right after boot, record /proc/meminfo and slabinfo.
> > > >
> > > > 2. After or near OOM, record /proc/meminfo and slabinfo. This can be
> > > > tricky but if your machine reliably OOMs after 10mins, run it for 9mins
> > > > and capturing the result should show enough.
> > > >
> > >
> > > Attached. The results are after oom, but i think about a min or so after
> > > that. I missed the oom point.
> >
> > Looking back at your original oom-killer output: something has consumed all
> > your ZONE_NORMAL memory and we cannot tell what it is.
> >
> > Please run 2.6.24-rc5-mm1 again (with CONFIG_PAGE_OWNER=y) and take a peek
> > at the changelog in
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/broken-out/page-owner-tracking-leak-detector.patch.
> >
> > Build up Documentation/page_owner.c then cause the leak to happen then
> > execute page_owner.
> >
> Hi Andrew
>
> This is a peek during the leak.
>
> ...
>
> [sorted_page_owner.txt text/plain (100.2KB)]
> 51957 times:
> Page allocated via order 0, mask 0x80d0
> [0xc015b9aa] __alloc_pages+706
> [0xc015b9f0] __get_free_pages+60
> [0xc011b7c9] pgd_alloc+60
> [0xc0122b9e] mm_init+196
> [0xc0122e06] dup_mm+101
> [0xc0122eda] copy_mm+104
> [0xc0123b8c] copy_process+1149
> [0xc0124229] do_fork+141
>
> 12335 times:
> Page allocated via order 0, mask 0x84d0
> [0xc015b9aa] __alloc_pages+706
> [0xc011b6ca] pte_alloc_one+21
> [0xc01632ac] __pte_alloc+21
> [0xc01634bb] copy_pte_range+67
> [0xc0163827] copy_page_range+284
> [0xc0122a79] dup_mmap+427
> [0xc0122e22] dup_mm+129
> [0xc0122eda] copy_mm+104
OK, so you're leaking pgd's on a fork-intensive load. It's a 4G i386
highmem system but I'm sure there are enough of those out there (still) for
this bug to have been promptly reported if it was generally occurring.
There's something special about either your setup or the test which you're
running.
Is it really the case that the bug only turns up when you run tests like
while echo; do cat /sys/kernel/kexec_crash_loaded; done
and
while echo; do cat /sys/kernel/uevent_seqnum ; done;
or will any fork-intensive workload also do it? Say,
while echo ; do true ; done
?
Another interesting factoid here is that after the oomkilling you slabinfo has
mm_struct 38 98 584 7 1 : tunables 32 16 8 : slabdata 14 14 0 : globalstat 2781 196 49 31 0 1 0 0 0 : cpustat 368800 11864 368920 11721
so we aren't leaking mm_structs. In fact we aren't leaking anything from
slab. But we are leaking pgds.
iirc the most recent change we've made in the pgd_t area is the quicklist
management which went into 2.6.22-rc1. You say the bug was present in
2.6.22. Can you test 2.6.21?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2007-12-14 23:05 ` 2.6.22-stable causes oomkiller to be invoked Andrew Morton
@ 2007-12-15 3:52 ` Dhaval Giani
2007-12-15 6:00 ` Andrew Morton
0 siblings, 1 reply; 17+ messages in thread
From: Dhaval Giani @ 2007-12-15 3:52 UTC (permalink / raw)
To: Andrew Morton
Cc: htejun, gregkh, stable, linux-kernel, maneesh, vatsa, balbir,
ego, linux-mm
> Is it really the case that the bug only turns up when you run tests like
>
> while echo; do cat /sys/kernel/kexec_crash_loaded; done
> and
> while echo; do cat /sys/kernel/uevent_seqnum ; done;
>
> or will any fork-intensive workload also do it? Say,
>
> while echo ; do true ; done
>
This does not leak, but having a simple text file and reading it in a
loop causes it.
> ?
>
> Another interesting factoid here is that after the oomkilling you slabinfo has
>
> mm_struct 38 98 584 7 1 : tunables 32 16 8 : slabdata 14 14 0 : globalstat 2781 196 49 31 0 1 0 0 0 : cpustat 368800 11864 368920 11721
>
> so we aren't leaking mm_structs. In fact we aren't leaking anything from
> slab. But we are leaking pgds.
>
> iirc the most recent change we've made in the pgd_t area is the quicklist
> management which went into 2.6.22-rc1. You say the bug was present in
> 2.6.22. Can you test 2.6.21?
Nope, leak is not present in 2.6.21.7
--
regards,
Dhaval
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2007-12-15 3:52 ` Dhaval Giani
@ 2007-12-15 6:00 ` Andrew Morton
2007-12-15 10:44 ` Dhaval Giani
0 siblings, 1 reply; 17+ messages in thread
From: Andrew Morton @ 2007-12-15 6:00 UTC (permalink / raw)
To: Dhaval Giani
Cc: htejun, gregkh, stable, linux-kernel, maneesh, vatsa, balbir,
ego, linux-mm
On Sat, 15 Dec 2007 09:22:00 +0530 Dhaval Giani <dhaval@linux.vnet.ibm.com> wrote:
> > Is it really the case that the bug only turns up when you run tests like
> >
> > while echo; do cat /sys/kernel/kexec_crash_loaded; done
> > and
> > while echo; do cat /sys/kernel/uevent_seqnum ; done;
> >
> > or will any fork-intensive workload also do it? Say,
> >
> > while echo ; do true ; done
> >
>
> This does not leak, but having a simple text file and reading it in a
> loop causes it.
hm.
> > ?
> >
> > Another interesting factoid here is that after the oomkilling you slabinfo has
> >
> > mm_struct 38 98 584 7 1 : tunables 32 16 8 : slabdata 14 14 0 : globalstat 2781 196 49 31 0 1 0 0 0 : cpustat 368800 11864 368920 11721
> >
> > so we aren't leaking mm_structs. In fact we aren't leaking anything from
> > slab. But we are leaking pgds.
> >
> > iirc the most recent change we've made in the pgd_t area is the quicklist
> > management which went into 2.6.22-rc1. You say the bug was present in
> > 2.6.22. Can you test 2.6.21?
>
> Nope, leak is not present in 2.6.21.7
Could you try this debug patch please?
It might need some fiddling to get useful output. Basic idea is to see if
we are failing to empty the quicklists.
--- a/include/linux/quicklist.h~a
+++ a/include/linux/quicklist.h
@@ -69,6 +69,8 @@ static inline void __quicklist_free(int
*(void **)p = q->page;
q->page = p;
q->nr_pages++;
+ if (q->nr_pages && !(q->nr_pages % 1000))
+ printk("eek: %d\n", q->nr_pages);
put_cpu_var(quicklist);
}
_
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2007-12-15 6:00 ` Andrew Morton
@ 2007-12-15 10:44 ` Dhaval Giani
[not found] ` <20071217045904.GB31386@linux.vnet.ibm.com>
0 siblings, 1 reply; 17+ messages in thread
From: Dhaval Giani @ 2007-12-15 10:44 UTC (permalink / raw)
To: Andrew Morton, clameter
Cc: htejun, gregkh, stable, linux-kernel, maneesh, vatsa, balbir,
ego, linux-mm
On Fri, Dec 14, 2007 at 10:00:30PM -0800, Andrew Morton wrote:
> On Sat, 15 Dec 2007 09:22:00 +0530 Dhaval Giani <dhaval@linux.vnet.ibm.com> wrote:
>
> > > Is it really the case that the bug only turns up when you run tests like
> > >
> > > while echo; do cat /sys/kernel/kexec_crash_loaded; done
> > > and
> > > while echo; do cat /sys/kernel/uevent_seqnum ; done;
> > >
> > > or will any fork-intensive workload also do it? Say,
> > >
> > > while echo ; do true ; done
> > >
> >
> > This does not leak, but having a simple text file and reading it in a
> > loop causes it.
>
> hm.
>
> > > ?
> > >
> > > Another interesting factoid here is that after the oomkilling you slabinfo has
> > >
> > > mm_struct 38 98 584 7 1 : tunables 32 16 8 : slabdata 14 14 0 : globalstat 2781 196 49 31 0 1 0 0 0 : cpustat 368800 11864 368920 11721
> > >
> > > so we aren't leaking mm_structs. In fact we aren't leaking anything from
> > > slab. But we are leaking pgds.
> > >
> > > iirc the most recent change we've made in the pgd_t area is the quicklist
> > > management which went into 2.6.22-rc1. You say the bug was present in
> > > 2.6.22. Can you test 2.6.21?
> >
> > Nope, leak is not present in 2.6.21.7
>
> Could you try this debug patch please?
>
Here is the dmesg with that patch,
use, ignoring.
PCI: Unable to reserve mem region #2:1000@edffe000 for device 0000:08:0a.1
aic7xxx: <Adaptec AIC-7899 Ultra 160/m SCSI host adapter> at PCI 8/10/1
aic7xxx: I/O ports already in use, ignoring.
megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006)
megaraid: 2.20.5.1 (Release Date: Thu Nov 16 15:32:35 EST 2006)
megasas: 00.00.03.16-rc1 Thu. Nov. 07 10:09:32 PDT 2007
st: Version 20070203, fixed bufsize 32768, s/g segs 256
osst :I: Tape driver with OnStream support version 0.99.4
osst :I: $Id: osst.c,v 1.73 2005/01/01 21:13:34 wriede Exp $
sd 1:0:0:0: [sda] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Mode Sense: cb 00 00 08
sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:0:0: [sda] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Mode Sense: cb 00 00 08
sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sda: sda1
sd 1:0:0:0: [sda] Attached SCSI disk
sd 1:0:1:0: [sdb] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:1:0: [sdb] Write Protect is off
sd 1:0:1:0: [sdb] Mode Sense: cb 00 00 08
sd 1:0:1:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:1:0: [sdb] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:1:0: [sdb] Write Protect is off
sd 1:0:1:0: [sdb] Mode Sense: cb 00 00 08
sd 1:0:1:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sdb: sdb1 sdb2 sdb3 sdb4
sd 1:0:1:0: [sdb] Attached SCSI disk
sd 1:0:2:0: [sdc] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:2:0: [sdc] Write Protect is off
sd 1:0:2:0: [sdc] Mode Sense: cb 00 00 08
sd 1:0:2:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:2:0: [sdc] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:2:0: [sdc] Write Protect is off
sd 1:0:2:0: [sdc] Mode Sense: cb 00 00 08
sd 1:0:2:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sdc: sdc1 sdc2
sd 1:0:2:0: [sdc] Attached SCSI disk
sd 1:0:3:0: [sdd] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:3:0: [sdd] Write Protect is off
sd 1:0:3:0: [sdd] Mode Sense: cb 00 00 08
sd 1:0:3:0: [sdd] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:3:0: [sdd] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:3:0: [sdd] Write Protect is off
sd 1:0:3:0: [sdd] Mode Sense: cb 00 00 08
sd 1:0:3:0: [sdd] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sdd: sdd1 sdd2 sdd3
sd 1:0:3:0: [sdd] Attached SCSI disk
sd 1:0:4:0: [sde] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:4:0: [sde] Write Protect is off
sd 1:0:4:0: [sde] Mode Sense: cb 00 00 08
sd 1:0:4:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:4:0: [sde] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:4:0: [sde] Write Protect is off
sd 1:0:4:0: [sde] Mode Sense: cb 00 00 08
sd 1:0:4:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sde: sde1
sd 1:0:4:0: [sde] Attached SCSI disk
sd 1:0:5:0: [sdf] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:5:0: [sdf] Write Protect is off
sd 1:0:5:0: [sdf] Mode Sense: b3 00 10 08
sd 1:0:5:0: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA
sd 1:0:5:0: [sdf] 71096640 512-byte hardware sectors (36401 MB)
sd 1:0:5:0: [sdf] Write Protect is off
sd 1:0:5:0: [sdf] Mode Sense: b3 00 10 08
sd 1:0:5:0: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA
sdf: sdf1
sd 1:0:5:0: [sdf] Attached SCSI disk
sd 1:0:0:0: Attached scsi generic sg0 type 0
sd 1:0:1:0: Attached scsi generic sg1 type 0
sd 1:0:2:0: Attached scsi generic sg2 type 0
sd 1:0:3:0: Attached scsi generic sg3 type 0
sd 1:0:4:0: Attached scsi generic sg4 type 0
sd 1:0:5:0: Attached scsi generic sg5 type 0
scsi 1:0:8:0: Attached scsi generic sg6 type 3
Fusion MPT base driver 3.04.06
Copyright (c) 1999-2007 LSI Corporation
Fusion MPT SPI Host driver 3.04.06
Fusion MPT FC Host driver 3.04.06
Fusion MPT SAS Host driver 3.04.06
Fusion MPT misc device (ioctl) driver 3.04.06
mptctl: Registered with Fusion MPT base driver
mptctl: /dev/mptctl @ (major,minor=10,220)
ieee1394: raw1394: /dev/raw1394 device initialized
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x64,0x60 irq 1,12
PNP: PS/2 controller has invalid data port 0x64; using default 0x60
PNP: PS/2 controller has invalid command port 0x60; using default 0x64
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
device-mapper: ioctl: 4.13.0-ioctl (2007-10-18) initialised: dm-devel@redhat.com
oprofile: using NMI interrupt.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available
Testing NMI watchdog ... OK.
Using IPI No-Shortcut mode
Freeing unused kernel memory: 240k freed
XXX sysfs_page_cnt=1
sd_mod: version magic '2.6.15.4 SMP PENTIUM4 REGPARM 4KSTACKS gcc-3.4' should be '2.6.24-rc5-mm1 SMP mod_unload PENTIUM4 '
aic7xxx: version magic '2.6.15.4 SMP PENTIUM4 REGPARM 4KSTACKS gcc-3.4' should be '2.6.24-rc5-mm1 SMP mod_unload PENTIUM4 '
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
XXX sysfs_page_cnt=1
warning: process `kmodule' used the deprecated sysctl system call with 1.23.
EXT3 FS on sdd1, internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS on sdd3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on sdf1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1863532k swap on /dev/sdb3. Priority:-1 extents:1 across:1863532k
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is off for TX and off for RX.
XXX sysfs_page_cnt=1
XXX sysfs_page_cnt=1
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
eek: 1000
XXX sysfs_page_cnt=1
eek: 2000
eek: 2000
eek: 2000
eek: 2000
eek: 2000
eek: 2000
eek: 2000
eek: 2000
eek: 2000
eek: 2000
eek: 2000
XXX sysfs_page_cnt=1
eek: 3000
eek: 3000
eek: 3000
eek: 3000
eek: 3000
XXX sysfs_page_cnt=1
eek: 3000
eek: 3000
eek: 3000
eek: 3000
eek: 3000
eek: 3000
eek: 3000
eek: 4000
eek: 4000
eek: 4000
eek: 4000
eek: 4000
eek: 4000
XXX sysfs_page_cnt=1
eek: 4000
eek: 4000
eek: 4000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
XXX sysfs_page_cnt=1
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 5000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
XXX sysfs_page_cnt=1
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 6000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
XXX sysfs_page_cnt=1
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 8000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
eek: 7000
XXX sysfs_page_cnt=1
eek: 9000
eek: 9000
eek: 9000
eek: 9000
eek: 9000
eek: 9000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
eek: 8000
XXX sysfs_page_cnt=1
eek: 10000
eek: 10000
eek: 10000
eek: 10000
eek: 10000
eek: 10000
eek: 9000
eek: 9000
eek: 9000
eek: 9000
eek: 9000
eek: 9000
eek: 9000
eek: 9000
eek: 9000
XXX sysfs_page_cnt=1
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
XXX sysfs_page_cnt=1
eek: 10000
eek: 10000
eek: 10000
eek: 10000
eek: 10000
eek: 12000
eek: 12000
eek: 12000
eek: 12000
eek: 12000
XXX sysfs_page_cnt=1
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 11000
eek: 13000
eek: 13000
eek: 13000
eek: 13000
eek: 13000
eek: 13000
XXX sysfs_page_cnt=1
eek: 12000
eek: 12000
eek: 12000
eek: 12000
eek: 12000
eek: 12000
eek: 12000
eek: 12000
eek: 12000
eek: 14000
eek: 14000
eek: 14000
eek: 14000
eek: 14000
eek: 14000
XXX sysfs_page_cnt=1
eek: 15000
eek: 13000
eek: 13000
eek: 15000
eek: 15000
eek: 15000
eek: 15000
XXX sysfs_page_cnt=1
eek: 16000
eek: 16000
eek: 16000
eek: 16000
eek: 14000
eek: 14000
eek: 14000
eek: 14000
eek: 14000
eek: 14000
eek: 16000
eek: 16000
XXX sysfs_page_cnt=1
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 15000
eek: 15000
eek: 15000
eek: 15000
eek: 15000
eek: 15000
XXX sysfs_page_cnt=1
eek: 18000
eek: 18000
eek: 18000
eek: 18000
eek: 18000
XXX sysfs_page_cnt=1
eek: 16000
eek: 16000
eek: 16000
eek: 16000
eek: 16000
eek: 16000
eek: 19000
eek: 19000
eek: 19000
eek: 19000
eek: 19000
eek: 19000
XXX sysfs_page_cnt=1
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 17000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
XXX sysfs_page_cnt=1
eek: 18000
eek: 18000
eek: 18000
eek: 18000
eek: 18000
eek: 18000
eek: 18000
eek: 18000
eek: 18000
eek: 18000
eek: 21000
eek: 21000
eek: 21000
eek: 21000
eek: 21000
eek: 21000
XXX sysfs_page_cnt=1
eek: 19000
eek: 19000
eek: 19000
eek: 19000
eek: 19000
eek: 19000
eek: 19000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
XXX sysfs_page_cnt=1
eek: 23000
eek: 23000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 20000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
XXX sysfs_page_cnt=1
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 21000
eek: 21000
eek: 21000
eek: 21000
eek: 21000
eek: 21000
eek: 21000
eek: 21000
eek: 24000
eek: 24000
XXX sysfs_page_cnt=1
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
eek: 22000
XXX sysfs_page_cnt=1
eek: 26000
eek: 26000
eek: 26000
eek: 26000
eek: 26000
XXX sysfs_page_cnt=1
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 23000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
XXX sysfs_page_cnt=1
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 24000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
XXX sysfs_page_cnt=1
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 25000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
XXX sysfs_page_cnt=1
eek: 30000
eek: 30000
eek: 26000
eek: 26000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
XXX sysfs_page_cnt=1
eek: 31000
eek: 31000
eek: 31000
eek: 31000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 27000
eek: 31000
eek: 31000
XXX sysfs_page_cnt=1
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
XXX sysfs_page_cnt=1
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 28000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
XXX sysfs_page_cnt=1
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 29000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
XXX sysfs_page_cnt=1
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 30000
eek: 35000
eek: 35000
eek: 35000
eek: 35000
eek: 35000
eek: 35000
XXX sysfs_page_cnt=1
eek: 31000
eek: 31000
eek: 36000
eek: 36000
eek: 36000
XXX sysfs_page_cnt=1
eek: 36000
eek: 36000
eek: 37000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 32000
eek: 37000
eek: 37000
XXX sysfs_page_cnt=1
eek: 37000
eek: 37000
eek: 38000
eek: 38000
eek: 38000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
eek: 33000
XXX sysfs_page_cnt=1
eek: 38000
eek: 38000
eek: 39000
eek: 39000
eek: 39000
eek: 39000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
eek: 34000
XXX sysfs_page_cnt=1
eek: 39000
eek: 39000
eek: 40000
eek: 40000
eek: 40000
eek: 40000
XXX sysfs_page_cnt=1
eek: 40000
eek: 40000
eek: 35000
eek: 35000
eek: 35000
eek: 35000
eek: 35000
eek: 41000
eek: 41000
eek: 41000
eek: 41000
XXX sysfs_page_cnt=1
eek: 41000
eek: 41000
eek: 36000
eek: 36000
eek: 36000
eek: 36000
eek: 36000
eek: 42000
eek: 42000
eek: 42000
eek: 42000
XXX sysfs_page_cnt=1
eek: 42000
eek: 42000
eek: 37000
eek: 37000
eek: 37000
eek: 43000
eek: 43000
eek: 43000
eek: 43000
XXX sysfs_page_cnt=1
eek: 43000
eek: 43000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 38000
eek: 44000
eek: 44000
eek: 44000
eek: 44000
XXX sysfs_page_cnt=1
eek: 44000
eek: 44000
eek: 45000
eek: 45000
eek: 39000
eek: 39000
eek: 45000
eek: 45000
XXX sysfs_page_cnt=1
bash invoked oom-killer: gfp_mask=0x84d0, order=0, oomkilladj=0
Pid: 4434, comm: bash Not tainted 2.6.24-rc5-mm1 #9
[<c010582a>] show_trace_log_lvl+0x12/0x22
[<c0105847>] show_trace+0xd/0xf
[<c0105959>] dump_stack+0x57/0x5e
[<c015a0f3>] oom_kill_process+0x37/0xdb
[<c015a300>] out_of_memory+0xbd/0xf1
[<c015b977>] __alloc_pages+0x23f/0x2cc
[<c011b6ca>] pte_alloc_one+0x15/0x3e
[<c01632fc>] __pte_alloc+0x15/0xaf
[<c016350b>] copy_pte_range+0x43/0x293
[<c0163877>] copy_page_range+0x11c/0x154
[<c0122ac9>] dup_mmap+0x1ab/0x20c
[<c0122e72>] dup_mm+0x81/0xd1
[<c0122f2a>] copy_mm+0x68/0x98
[<c0123bdc>] copy_process+0x47d/0x9fd
[<c0124279>] do_fork+0x8d/0x1d2
[<c0103aba>] sys_clone+0x1f/0x21
[<c01049fa>] sysenter_past_esp+0x5f/0xa5
=======================
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
CPU 1: hi: 0, btch: 1 usd: 0
CPU 2: hi: 0, btch: 1 usd: 0
CPU 3: hi: 0, btch: 1 usd: 0
CPU 4: hi: 0, btch: 1 usd: 0
CPU 5: hi: 0, btch: 1 usd: 0
CPU 6: hi: 0, btch: 1 usd: 0
CPU 7: hi: 0, btch: 1 usd: 0
Normal per-cpu:
CPU 0: hi: 186, btch: 31 usd: 15
CPU 1: hi: 186, btch: 31 usd: 183
CPU 2: hi: 186, btch: 31 usd: 21
CPU 3: hi: 186, btch: 31 usd: 168
CPU 4: hi: 186, btch: 31 usd: 6
CPU 5: hi: 186, btch: 31 usd: 184
CPU 6: hi: 186, btch: 31 usd: 30
CPU 7: hi: 186, btch: 31 usd: 180
HighMem per-cpu:
CPU 0: hi: 186, btch: 31 usd: 8
CPU 1: hi: 186, btch: 31 usd: 181
CPU 2: hi: 186, btch: 31 usd: 24
CPU 3: hi: 186, btch: 31 usd: 155
CPU 4: hi: 186, btch: 31 usd: 8
CPU 5: hi: 186, btch: 31 usd: 178
CPU 6: hi: 186, btch: 31 usd: 12
CPU 7: hi: 186, btch: 31 usd: 167
Active:1938 inactive:1234 dirty:0 writeback:0 unstable:0
free:986779 slab:2584 mapped:851 pagetables:120 bounce:0
DMA free:3496kB min:64kB low:80kB high:96kB active:0kB inactive:0kB present:16016kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 860 4989 4989
Normal free:3604kB min:3720kB low:4648kB high:5580kB active:0kB inactive:0kB present:880880kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 33033 33033
HighMem free:3940016kB min:512kB low:4976kB high:9440kB active:7808kB inactive:4936kB present:4228224kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 3*4kB 4*8kB 4*16kB 4*32kB 4*64kB 2*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 0*4096kB = 3564kB
Normal: 1*4kB 4*8kB 1*16kB 1*32kB 0*64kB 0*128kB 0*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 3668kB
HighMem: 127*4kB 535*8kB 270*16kB 93*32kB 32*64kB 8*128kB 1*256kB 1*512kB 2*1024kB 1*2048kB 957*4096kB = 3939892kB
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 1863532kB
Total swap = 1863532kB
Free swap: 1863532kB
1310720 pages of RAM
1081344 pages of HIGHMEM
140255 reserved pages
3164 pages shared
0 pages swap cached
0 pages dirty
0 pages writeback
841 pages mapped
2584 pages slab
108 pages pagetables
Out of memory: kill process 3837 (slpd) score 897 or a child
Killed process 3837 (slpd)
bash invoked oom-killer: gfp_mask=0x84d0, order=0, oomkilladj=0
Pid: 4434, comm: bash Not tainted 2.6.24-rc5-mm1 #9
[<c010582a>] show_trace_log_lvl+0x12/0x22
[<c0105847>] show_trace+0xd/0xf
[<c0105959>] dump_stack+0x57/0x5e
[<c015a0f3>] oom_kill_process+0x37/0xdb
[<c015a300>] out_of_memory+0xbd/0xf1
[<c015b977>] __alloc_pages+0x23f/0x2cc
[<c011b6ca>] pte_alloc_one+0x15/0x3e
[<c01632fc>] __pte_alloc+0x15/0xaf
[<c016350b>] copy_pte_range+0x43/0x293
[<c0163877>] copy_page_range+0x11c/0x154
[<c0122ac9>] dup_mmap+0x1ab/0x20c
[<c0122e72>] dup_mm+0x81/0xd1
[<c0122f2a>] copy_mm+0x68/0x98
[<c0123bdc>] copy_process+0x47d/0x9fd
[<c0124279>] do_fork+0x8d/0x1d2
[<c0103aba>] sys_clone+0x1f/0x21
[<c01049fa>] sysenter_past_esp+0x5f/0xa5
=======================
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
CPU 1: hi: 0, btch: 1 usd: 0
CPU 2: hi: 0, btch: 1 usd: 0
CPU 3: hi: 0, btch: 1 usd: 0
CPU 4: hi: 0, btch: 1 usd: 0
CPU 5: hi: 0, btch: 1 usd: 0
CPU 6: hi: 0, btch: 1 usd: 0
CPU 7: hi: 0, btch: 1 usd: 0
Normal per-cpu:
CPU 0: hi: 186, btch: 31 usd: 25
CPU 1: hi: 186, btch: 31 usd: 163
CPU 2: hi: 186, btch: 31 usd: 20
CPU 3: hi: 186, btch: 31 usd: 170
CPU 4: hi: 186, btch: 31 usd: 30
CPU 5: hi: 186, btch: 31 usd: 156
CPU 6: hi: 186, btch: 31 usd: 30
CPU 7: hi: 186, btch: 31 usd: 164
HighMem per-cpu:
CPU 0: hi: 186, btch: 31 usd: 36
CPU 1: hi: 186, btch: 31 usd: 166
CPU 2: hi: 186, btch: 31 usd: 5
CPU 3: hi: 186, btch: 31 usd: 166
CPU 4: hi: 186, btch: 31 usd: 8
CPU 5: hi: 186, btch: 31 usd: 162
CPU 6: hi: 186, btch: 31 usd: 25
CPU 7: hi: 186, btch: 31 usd: 166
Active:1933 inactive:1266 dirty:0 writeback:0 unstable:0
free:986883 slab:2560 mapped:826 pagetables:118 bounce:0
DMA free:3552kB min:64kB low:80kB high:96kB active:0kB inactive:0kB present:16016kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 860 4989 4989
Normal free:3964kB min:3720kB low:4648kB high:5580kB active:76kB inactive:128kB present:880880kB pages_scanned:4949 all_unreclaimable? yes
lowmem_reserve[]: 0 0 33033 33033
HighMem free:3940016kB min:512kB low:4976kB high:9440kB active:7656kB inactive:4936kB present:4228224kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 2*4kB 3*8kB 4*16kB 4*32kB 4*64kB 2*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 0*4096kB = 3552kB
Normal: 51*4kB 12*8kB 3*16kB 1*32kB 0*64kB 0*128kB 0*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 3964kB
HighMem: 158*4kB 535*8kB 270*16kB 93*32kB 32*64kB 8*128kB 1*256kB 1*512kB 2*1024kB 1*2048kB 957*4096kB = 3940016kB
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 1863532kB
Total swap = 1863532kB
Free swap: 1863532kB
1310720 pages of RAM
1081344 pages of HIGHMEM
140255 reserved pages
3059 pages shared
0 pages swap cached
0 pages dirty
0 pages writeback
826 pages mapped
2560 pages slab
118 pages pagetables
Out of memory: kill process 3948 (xfs) score 817 or a child
Killed process 3948 (xfs)
bash invoked oom-killer: gfp_mask=0x84d0, order=0, oomkilladj=0
Pid: 4434, comm: bash Not tainted 2.6.24-rc5-mm1 #9
[<c010582a>] show_trace_log_lvl+0x12/0x22
[<c0105847>] show_trace+0xd/0xf
[<c0105959>] dump_stack+0x57/0x5e
[<c015a0f3>] oom_kill_process+0x37/0xdb
[<c015a300>] out_of_memory+0xbd/0xf1
[<c015b977>] __alloc_pages+0x23f/0x2cc
[<c011b6ca>] pte_alloc_one+0x15/0x3e
[<c01632fc>] __pte_alloc+0x15/0xaf
[<c016350b>] copy_pte_range+0x43/0x293
[<c0163877>] copy_page_range+0x11c/0x154
[<c0122ac9>] dup_mmap+0x1ab/0x20c
[<c0122e72>] dup_mm+0x81/0xd1
[<c0122f2a>] copy_mm+0x68/0x98
[<c0123bdc>] copy_process+0x47d/0x9fd
[<c0124279>] do_fork+0x8d/0x1d2
[<c0103aba>] sys_clone+0x1f/0x21
[<c01049fa>] sysenter_past_esp+0x5f/0xa5
=======================
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
CPU 1: hi: 0, btch: 1 usd: 0
CPU 2: hi: 0, btch: 1 usd: 0
CPU 3: hi: 0, btch: 1 usd: 0
CPU 4: hi: 0, btch: 1 usd: 0
CPU 5: hi: 0, btch: 1 usd: 0
CPU 6: hi: 0, btch: 1 usd: 0
CPU 7: hi: 0, btch: 1 usd: 0
Normal per-cpu:
CPU 0: hi: 186, btch: 31 usd: 17
CPU 1: hi: 186, btch: 31 usd: 179
CPU 2: hi: 186, btch: 31 usd: 27
CPU 3: hi: 186, btch: 31 usd: 157
CPU 4: hi: 186, btch: 31 usd: 30
CPU 5: hi: 186, btch: 31 usd: 180
CPU 6: hi: 186, btch: 31 usd: 13
CPU 7: hi: 186, btch: 31 usd: 165
HighMem per-cpu:
CPU 0: hi: 186, btch: 31 usd: 21
CPU 1: hi: 186, btch: 31 usd: 178
CPU 2: hi: 186, btch: 31 usd: 18
CPU 3: hi: 186, btch: 31 usd: 182
CPU 4: hi: 186, btch: 31 usd: 15
CPU 5: hi: 186, btch: 31 usd: 179
CPU 6: hi: 186, btch: 31 usd: 22
CPU 7: hi: 186, btch: 31 usd: 164
Active:1764 inactive:1234 dirty:0 writeback:0 unstable:0
free:987022 slab:2560 mapped:769 pagetables:104 bounce:0
DMA free:3520kB min:64kB low:80kB high:96kB active:0kB inactive:0kB present:16016kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 860 4989 4989
Normal free:3808kB min:3720kB low:4648kB high:5580kB active:204kB inactive:0kB present:880880kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 33033 33033
HighMem free:3940760kB min:512kB low:4976kB high:9440kB active:6852kB inactive:4936kB present:4228224kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 2*4kB 3*8kB 4*16kB 5*32kB 5*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 0*4096kB = 3520kB
Normal: 56*4kB 15*8kB 6*16kB 1*32kB 0*64kB 0*128kB 0*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 4056kB
HighMem: 307*4kB 536*8kB 271*16kB 93*32kB 32*64kB 8*128kB 1*256kB 1*512kB 2*1024kB 1*2048kB 957*4096kB = 3940636kB
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 1863532kB
Total swap = 1863532kB
Free swap: 1863532kB
1310720 pages of RAM
1081344 pages of HIGHMEM
140255 reserved pages
2857 pages shared
0 pages swap cached
0 pages dirty
0 pages writeback
769 pages mapped
2560 pages slab
104 pages pagetables
Out of memory: kill process 3743 (portmap) score 418 or a child
Killed process 3743 (portmap)
bash invoked oom-killer: gfp_mask=0x84d0, order=0, oomkilladj=0
Pid: 4434, comm: bash Not tainted 2.6.24-rc5-mm1 #9
[<c010582a>] show_trace_log_lvl+0x12/0x22
[<c0105847>] show_trace+0xd/0xf
[<c0105959>] dump_stack+0x57/0x5e
[<c015a0f3>] oom_kill_process+0x37/0xdb
[<c015a300>] out_of_memory+0xbd/0xf1
[<c015b977>] __alloc_pages+0x23f/0x2cc
[<c011b6ca>] pte_alloc_one+0x15/0x3e
[<c01632fc>] __pte_alloc+0x15/0xaf
[<c016350b>] copy_pte_range+0x43/0x293
[<c0163877>] copy_page_range+0x11c/0x154
[<c0122ac9>] dup_mmap+0x1ab/0x20c
[<c0122e72>] dup_mm+0x81/0xd1
[<c0122f2a>] copy_mm+0x68/0x98
[<c0123bdc>] copy_process+0x47d/0x9fd
[<c0124279>] do_fork+0x8d/0x1d2
[<c0103aba>] sys_clone+0x1f/0x21
[<c01049fa>] sysenter_past_esp+0x5f/0xa5
=======================
Mem-info:
DMA per-cpu:
CPU 0: hi: 0, btch: 1 usd: 0
CPU 1: hi: 0, btch: 1 usd: 0
CPU 2: hi: 0, btch: 1 usd: 0
CPU 3: hi: 0, btch: 1 usd: 0
CPU 4: hi: 0, btch: 1 usd: 0
CPU 5: hi: 0, btch: 1 usd: 0
CPU 6: hi: 0, btch: 1 usd: 0
CPU 7: hi: 0, btch: 1 usd: 0
Normal per-cpu:
CPU 0: hi: 186, btch: 31 usd: 24
CPU 1: hi: 186, btch: 31 usd: 166
CPU 2: hi: 186, btch: 31 usd: 18
CPU 3: hi: 186, btch: 31 usd: 162
CPU 4: hi: 186, btch: 31 usd: 21
CPU 5: hi: 186, btch: 31 usd: 184
CPU 6: hi: 186, btch: 31 usd: 13
CPU 7: hi: 186, btch: 31 usd: 168
HighMem per-cpu:
CPU 0: hi: 186, btch: 31 usd: 21
CPU 1: hi: 186, btch: 31 usd: 171
CPU 2: hi: 186, btch: 31 usd: 24
CPU 3: hi: 186, btch: 31 usd: 161
CPU 4: hi: 186, btch: 31 usd: 26
CPU 5: hi: 186, btch: 31 usd: 164
CPU 6: hi: 186, btch: 31 usd: 26
CPU 7: hi: 186, btch: 31 usd: 156
Active:1810 inactive:1234 dirty:0 writeback:0 unstable:0
free:987085 slab:2523 mapped:758 pagetables:80 bounce:0
DMA free:3512kB min:64kB low:80kB high:96kB active:0kB inactive:0kB present:16016kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 860 4989 4989
Normal free:4048kB min:3720kB low:4648kB high:5580kB active:204kB inactive:0kB present:880880kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 33033 33033
HighMem free:3940780kB min:512kB low:4976kB high:9440kB active:7036kB inactive:4936kB present:4228224kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 2*4kB 2*8kB 4*16kB 5*32kB 5*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 0*4096kB = 3512kB
Normal: 46*4kB 22*8kB 6*16kB 1*32kB 0*64kB 0*128kB 0*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 4072kB
HighMem: 304*4kB 541*8kB 275*16kB 92*32kB 33*64kB 8*128kB 1*256kB 1*512kB 2*1024kB 1*2048kB 957*4096kB = 3940760kB
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 1863532kB
Total swap = 1863532kB
Free swap: 1863532kB
1310720 pages of RAM
1081344 pages of HIGHMEM
140255 reserved pages
2752 pages shared
0 pages swap cached
0 pages dirty
0 pages writeback
758 pages mapped
2523 pages slab
80 pages pagetables
Out of memory: kill process 4432 (sshd) score 145 or a child
Killed process 4434 (bash)
_
--
regards,
Dhaval
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
[not found] ` <Pine.LNX.4.64.0712171222470.29500@schroedinger.engr.sgi.com>
@ 2007-12-21 4:45 ` Dhaval Giani
2007-12-26 21:01 ` Christoph Lameter
0 siblings, 1 reply; 17+ messages in thread
From: Dhaval Giani @ 2007-12-21 4:45 UTC (permalink / raw)
To: Christoph Lameter
Cc: Andrew Morton, htejun, gregkh, Srivatsa Vaddagiri, Balbir Singh,
maneesh, lkml, stable, linux-mm
> > It was just
> >
> > while echo ; do cat /sys/kernel/<some file> ; done
> >
> > it's all in the email threads somewhere..
>
> The patch that was posted in the thread that I mentioned earlier is here.
> I ran the test for 15 minutes and things are still fine.
>
>
>
> quicklist: Set tlb->need_flush if pages are remaining in quicklist 0
>
> This ensures that the quicklists are drained. Otherwise draining may only
> occur when the processor reaches an idle state.
>
Hi Christoph,
No, it does not stop the oom I am seeing here.
Thanks,
> Signed-off-by: Christoph Lameter <clameter@sgi.com>
>
> Index: linux-2.6/include/asm-generic/tlb.h
> ===================================================================
> --- linux-2.6.orig/include/asm-generic/tlb.h 2007-12-13 14:45:38.000000000 -0800
> +++ linux-2.6/include/asm-generic/tlb.h 2007-12-13 14:51:07.000000000 -0800
> @@ -14,6 +14,7 @@
> #define _ASM_GENERIC__TLB_H
>
> #include <linux/swap.h>
> +#include <linux/quicklist.h>
> #include <asm/pgalloc.h>
> #include <asm/tlbflush.h>
>
> @@ -85,6 +86,9 @@ tlb_flush_mmu(struct mmu_gather *tlb, un
> static inline void
> tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
> {
> +#ifdef CONFIG_QUICKLIST
> + tlb->need_flush += &__get_cpu_var(quicklist)[0].nr_pages != 0;
> +#endif
> tlb_flush_mmu(tlb, start, end);
>
> /* keep the page table cache within bounds */
--
regards,
Dhaval
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2007-12-21 4:45 ` Dhaval Giani
@ 2007-12-26 21:01 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0712271119030.30555@schroedinger.engr.sgi.com>
2007-12-30 14:01 ` Ingo Molnar
0 siblings, 2 replies; 17+ messages in thread
From: Christoph Lameter @ 2007-12-26 21:01 UTC (permalink / raw)
To: Dhaval Giani
Cc: Andrew Morton, htejun, gregkh, Srivatsa Vaddagiri, Balbir Singh,
maneesh, lkml, stable, linux-mm
On Fri, 21 Dec 2007, Dhaval Giani wrote:
> No, it does not stop the oom I am seeing here.
Duh. Disregard that patch. It looks like check_pgt_cache() is not called.
This could happen if tlb_flush_mmu is never called during the
fork/terminate sequences in your script. pgd_free is called *after* a
possible tlb flush so the pgd page is on the quicklist (which is good for
the next process which needs a pgd). The tlb_flush_mmu's during pte
eviction should trim the quicklist. For some reason this is not happening
on your box (it works here).
Could you try this script that insures that check_pgt_cache is called
after every pgd_free?
Index: linux-2.6/arch/x86/mm/pgtable_32.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/pgtable_32.c 2007-12-26 12:55:10.000000000 -0800
+++ linux-2.6/arch/x86/mm/pgtable_32.c 2007-12-26 12:55:54.000000000 -0800
@@ -366,6 +366,15 @@ void pgd_free(pgd_t *pgd)
}
/* in the non-PAE case, free_pgtables() clears user pgd entries */
quicklist_free(0, pgd_dtor, pgd);
+
+ /*
+ * We must call check_pgd_cache() here because the pgd is freed after
+ * tlb flushing and the call to check_pgd_cache. In some cases the VM
+ * may not call tlb_flush_mmu during process termination (??).
+ * If this is repeated then we may never call check_pgd_cache.
+ * The quicklist will grow and grow. So call check_pgd_cache here.
+ */
+ check_pgt_cache();
}
void check_pgt_cache(void)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
[not found] ` <Pine.LNX.4.64.0712271119030.30555@schroedinger.engr.sgi.com>
@ 2007-12-28 10:11 ` Dhaval Giani
2008-01-02 20:45 ` Christoph Lameter
0 siblings, 1 reply; 17+ messages in thread
From: Dhaval Giani @ 2007-12-28 10:11 UTC (permalink / raw)
To: Christoph Lameter
Cc: Andrew Morton, htejun, gregkh, Srivatsa Vaddagiri, Balbir Singh,
maneesh, lkml, stable, linux-mm
[-- Attachment #1: Type: text/plain, Size: 901 bytes --]
On Thu, Dec 27, 2007 at 11:22:34AM -0800, Christoph Lameter wrote:
> On Thu, 27 Dec 2007, Dhaval Giani wrote:
>
> > anything specific you are looking for? I still hit the oom.
>
> Weird.... WTH is this? You run an unmodified upstream tree? Can you add a
> printk in quicklist_trim that shows
>
Hi,
I am running 2.6.24-rc5-mm1 here.
> A) that it is called
>
> B) what the control values q->nr_pages and min_pages are?
>
Trying to print these using printks renders the system unbootable. With
help from RAS folks around me, managed to get a systemtap script,
probe kernel.statement("quicklist_trim@mm/quicklist.c:56")
{
printf(" q->nr_pages is %d, min_pages is %d ----> %s\n",
$q->nr_pages, $$
min_pages, execname());
}
we managed to get your required information. Last 10,000 lines are
attached (The uncompressed file comes to 500 kb).
Hope it helps.
Thanks,
--
regards,
Dhaval
[-- Attachment #2: systp.out.1.bz2 --]
[-- Type: application/x-bzip2, Size: 7600 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2007-12-26 21:01 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0712271119030.30555@schroedinger.engr.sgi.com>
@ 2007-12-30 14:01 ` Ingo Molnar
2007-12-30 19:24 ` Dhaval Giani
2008-01-02 20:48 ` Christoph Lameter
1 sibling, 2 replies; 17+ messages in thread
From: Ingo Molnar @ 2007-12-30 14:01 UTC (permalink / raw)
To: Christoph Lameter
Cc: Dhaval Giani, Andrew Morton, Linus Torvalds, htejun, gregkh,
Srivatsa Vaddagiri, Balbir Singh, maneesh, lkml, stable,
linux-mm
* Christoph Lameter <clameter@sgi.com> wrote:
> Index: linux-2.6/arch/x86/mm/pgtable_32.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/mm/pgtable_32.c 2007-12-26 12:55:10.000000000 -0800
> +++ linux-2.6/arch/x86/mm/pgtable_32.c 2007-12-26 12:55:54.000000000 -0800
> @@ -366,6 +366,15 @@ void pgd_free(pgd_t *pgd)
> }
> /* in the non-PAE case, free_pgtables() clears user pgd entries */
> quicklist_free(0, pgd_dtor, pgd);
> +
> + /*
> + * We must call check_pgd_cache() here because the pgd is freed after
> + * tlb flushing and the call to check_pgd_cache. In some cases the VM
> + * may not call tlb_flush_mmu during process termination (??).
that's incorrect i think: during process termination exit_mmap() calls
tlb_finish_mmu() unconditionally which calls tlb_flush_mmu().
> + * If this is repeated then we may never call check_pgd_cache.
> + * The quicklist will grow and grow. So call check_pgd_cache here.
> + */
> + check_pgt_cache();
> }
so we still dont seem to understand the failure mode well enough. This
also looks like a quite dangerous change so late in the v2.6.24 cycle.
Does it really fix the OOM? If yes, why exactly?
Ingo
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2007-12-30 14:01 ` Ingo Molnar
@ 2007-12-30 19:24 ` Dhaval Giani
2008-01-02 20:48 ` Christoph Lameter
1 sibling, 0 replies; 17+ messages in thread
From: Dhaval Giani @ 2007-12-30 19:24 UTC (permalink / raw)
To: Ingo Molnar
Cc: Christoph Lameter, Andrew Morton, Linus Torvalds, htejun, gregkh,
Srivatsa Vaddagiri, Balbir Singh, maneesh, lkml, stable,
linux-mm
On Sun, Dec 30, 2007 at 03:01:16PM +0100, Ingo Molnar wrote:
>
> * Christoph Lameter <clameter@sgi.com> wrote:
>
> > Index: linux-2.6/arch/x86/mm/pgtable_32.c
> > ===================================================================
> > --- linux-2.6.orig/arch/x86/mm/pgtable_32.c 2007-12-26 12:55:10.000000000 -0800
> > +++ linux-2.6/arch/x86/mm/pgtable_32.c 2007-12-26 12:55:54.000000000 -0800
> > @@ -366,6 +366,15 @@ void pgd_free(pgd_t *pgd)
> > }
> > /* in the non-PAE case, free_pgtables() clears user pgd entries */
> > quicklist_free(0, pgd_dtor, pgd);
> > +
> > + /*
> > + * We must call check_pgd_cache() here because the pgd is freed after
> > + * tlb flushing and the call to check_pgd_cache. In some cases the VM
> > + * may not call tlb_flush_mmu during process termination (??).
>
> that's incorrect i think: during process termination exit_mmap() calls
> tlb_finish_mmu() unconditionally which calls tlb_flush_mmu().
>
> > + * If this is repeated then we may never call check_pgd_cache.
> > + * The quicklist will grow and grow. So call check_pgd_cache here.
> > + */
> > + check_pgt_cache();
> > }
>
> so we still dont seem to understand the failure mode well enough. This
> also looks like a quite dangerous change so late in the v2.6.24 cycle.
> Does it really fix the OOM? If yes, why exactly?
>
No it does not. I've sent out some more information if it helps, will
send to you separately.
--
regards,
Dhaval
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2007-12-28 10:11 ` Dhaval Giani
@ 2008-01-02 20:45 ` Christoph Lameter
2008-01-02 21:54 ` Christoph Lameter
0 siblings, 1 reply; 17+ messages in thread
From: Christoph Lameter @ 2008-01-02 20:45 UTC (permalink / raw)
To: Dhaval Giani
Cc: Andrew Morton, htejun, gregkh, Srivatsa Vaddagiri, Balbir Singh,
maneesh, lkml, stable, linux-mm
On Fri, 28 Dec 2007, Dhaval Giani wrote:
> we managed to get your required information. Last 10,000 lines are
> attached (The uncompressed file comes to 500 kb).
>
> Hope it helps.
Somehow the nr_pages field is truncated to 16 bit and it
seems that there are sign issues there? We are wrapping around....
q->nr_pages is 36877, min_pages is 25 ----> swapper
q->nr_pages is 46266, min_pages is 25 ----> bash
q->nr_pages is 36877, min_pages is 25 ----> swapper
q->nr_pages is 36877, min_pages is 25 ----> swapper
q->nr_pages is 46265, min_pages is 25 ----> bash
q->nr_pages is 46265, min_pages is 25 ----> cat
q->nr_pages is 36877, min_pages is 25 ----> swapper
q->nr_pages is 46265, min_pages is 25 ----> cat
q->nr_pages is 36877, min_pages is 25 ----> swapper
q->nr_pages is 0, min_pages is 25 ----> swapper
q->nr_pages is 36877, min_pages is 25 ----> swapper
q->nr_pages is 36877, min_pages is 25 ----> swapper
q->nr_pages is 46265, min_pages is 25 ----> cat
An int is just a 16 bit field on i386? I thought it was 32 bits? Or is
the result due to the way that systemtap works?
Could you post the neighboring per cpu variables to quicklist (look at the
System.map). Maybe somehow we corrupt the nr_pages and page contents.
Also could you do another systemtap and also print out the current
processor? Maybe nr_pages gets only corrupted on a specific processor. I
see a zero there and sometimes other sane values.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2007-12-30 14:01 ` Ingo Molnar
2007-12-30 19:24 ` Dhaval Giani
@ 2008-01-02 20:48 ` Christoph Lameter
1 sibling, 0 replies; 17+ messages in thread
From: Christoph Lameter @ 2008-01-02 20:48 UTC (permalink / raw)
To: Ingo Molnar
Cc: Dhaval Giani, Andrew Morton, Linus Torvalds, htejun, gregkh,
Srivatsa Vaddagiri, Balbir Singh, maneesh, lkml, stable,
linux-mm
On Sun, 30 Dec 2007, Ingo Molnar wrote:
> so we still dont seem to understand the failure mode well enough. This
> also looks like a quite dangerous change so late in the v2.6.24 cycle.
> Does it really fix the OOM? If yes, why exactly?
Not exactly sure. I suspect that there is some memory corruption. See my
earlier post from today. I do not see this issue on my system. So it must
be particular to a certain config.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2008-01-02 20:45 ` Christoph Lameter
@ 2008-01-02 21:54 ` Christoph Lameter
2008-01-03 3:59 ` Dhaval Giani
0 siblings, 1 reply; 17+ messages in thread
From: Christoph Lameter @ 2008-01-02 21:54 UTC (permalink / raw)
To: Dhaval Giani
Cc: Andrew Morton, htejun, Srivatsa Vaddagiri, Balbir Singh, maneesh,
lkml, linux-mm
Just traced it again on my system: It is okay for the number of pages on
the quicklist to reach the high count that we see (although the 16 bit
limits are weird. You have around 4GB of memory in the system?). Up to
1/16th of free memory of a node can be allocated for quicklists (this
allows the effective shutting down and restarting of large amounts of
processes)
The problem may be that this is run on a HIGHMEM system and the
calculation of allowable pages on the quicklists does not take into
account that highmem pages are not usable for quicklists (not sure about
ZONE_MOVABLE on i386. Maybe we need to take that into account as well?)
Here is a patch that removes the HIGHMEM portion from the calculation.
Does this change anything:
Index: linux-2.6/mm/quicklist.c
===================================================================
--- linux-2.6.orig/mm/quicklist.c 2008-01-02 13:41:10.000000000 -0800
+++ linux-2.6/mm/quicklist.c 2008-01-02 13:44:15.000000000 -0800
@@ -29,6 +29,12 @@ static unsigned long max_pages(unsigned
node_free_pages = node_page_state(numa_node_id(),
NR_FREE_PAGES);
+#ifdef CONFIG_HIGHMEM
+ /* Take HIGHMEM pages out of consideration */
+ node_free_pages -= zone_page_state(&NODE_DATA(numa_node_id())->node_zones[ZONE_HIGHMEM],
+ NR_FREE_PAGES);
+#endif
+
max = node_free_pages / FRACTION_OF_NODE_MEM;
return max(max, min_pages);
}
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2008-01-02 21:54 ` Christoph Lameter
@ 2008-01-03 3:59 ` Dhaval Giani
2008-01-03 4:16 ` Dhaval Giani
0 siblings, 1 reply; 17+ messages in thread
From: Dhaval Giani @ 2008-01-03 3:59 UTC (permalink / raw)
To: Christoph Lameter
Cc: Andrew Morton, htejun, Srivatsa Vaddagiri, Balbir Singh, maneesh,
lkml, linux-mm
On Wed, Jan 02, 2008 at 01:54:12PM -0800, Christoph Lameter wrote:
> Just traced it again on my system: It is okay for the number of pages on
> the quicklist to reach the high count that we see (although the 16 bit
> limits are weird. You have around 4GB of memory in the system?). Up to
> 1/16th of free memory of a node can be allocated for quicklists (this
> allows the effective shutting down and restarting of large amounts of
> processes)
>
> The problem may be that this is run on a HIGHMEM system and the
> calculation of allowable pages on the quicklists does not take into
> account that highmem pages are not usable for quicklists (not sure about
> ZONE_MOVABLE on i386. Maybe we need to take that into account as well?)
>
> Here is a patch that removes the HIGHMEM portion from the calculation.
> Does this change anything:
>
Yep. This one hits it. I don't see the obvious signs of the oom
happening in the 5 mins I have run the script. I will let it run for
some more time.
Thanks!
--
regards,
Dhaval
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2008-01-03 3:59 ` Dhaval Giani
@ 2008-01-03 4:16 ` Dhaval Giani
2008-01-03 21:04 ` Christoph Lameter
0 siblings, 1 reply; 17+ messages in thread
From: Dhaval Giani @ 2008-01-03 4:16 UTC (permalink / raw)
To: Christoph Lameter
Cc: Andrew Morton, htejun, Srivatsa Vaddagiri, Balbir Singh, maneesh,
lkml, linux-mm
On Thu, Jan 03, 2008 at 09:29:42AM +0530, Dhaval Giani wrote:
> On Wed, Jan 02, 2008 at 01:54:12PM -0800, Christoph Lameter wrote:
> > Just traced it again on my system: It is okay for the number of pages on
> > the quicklist to reach the high count that we see (although the 16 bit
> > limits are weird. You have around 4GB of memory in the system?). Up to
> > 1/16th of free memory of a node can be allocated for quicklists (this
> > allows the effective shutting down and restarting of large amounts of
> > processes)
> >
> > The problem may be that this is run on a HIGHMEM system and the
> > calculation of allowable pages on the quicklists does not take into
> > account that highmem pages are not usable for quicklists (not sure about
> > ZONE_MOVABLE on i386. Maybe we need to take that into account as well?)
> >
> > Here is a patch that removes the HIGHMEM portion from the calculation.
> > Does this change anything:
> >
>
> Yep. This one hits it. I don't see the obvious signs of the oom
> happening in the 5 mins I have run the script. I will let it run for
> some more time.
>
Yes, no oom even after 20 mins of running (which is double the normal
time for the oom to occur), also no changes in free lowmem.
Thanks for the fix. Feel free to add a
Tested-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
--
regards,
Dhaval
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2008-01-03 4:16 ` Dhaval Giani
@ 2008-01-03 21:04 ` Christoph Lameter
2008-01-07 20:04 ` Christoph Lameter
0 siblings, 1 reply; 17+ messages in thread
From: Christoph Lameter @ 2008-01-03 21:04 UTC (permalink / raw)
To: Dhaval Giani
Cc: Andrew Morton, htejun, Srivatsa Vaddagiri, Balbir Singh, maneesh,
lkml, linux-mm
On Thu, 3 Jan 2008, Dhaval Giani wrote:
> Yes, no oom even after 20 mins of running (which is double the normal
> time for the oom to occur), also no changes in free lowmem.
Ahhh.. Good then lets redo the patchset the right way (the patch so far
does not address the ZONE_MOVABLE issues) . Does this patch
also do the trick?
Quicklists: Only consider memory that can be allocated via GFP_KERNEL
Quicklists calculates the size of the quicklists based on the number
of free pages. This must be the number of free pages that can be
allocated with GFP_KERNEL. node_page_state() includes the pages in
ZONE_HIGHMEM and ZONE_MOVABLE. These should not be considered for the
size calculation.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Index: linux-2.6/mm/quicklist.c
===================================================================
--- linux-2.6.orig/mm/quicklist.c 2008-01-03 12:22:55.000000000 -0800
+++ linux-2.6/mm/quicklist.c 2008-01-03 13:00:30.000000000 -0800
@@ -26,9 +26,17 @@ DEFINE_PER_CPU(struct quicklist, quickli
static unsigned long max_pages(unsigned long min_pages)
{
unsigned long node_free_pages, max;
+ struct zone *zones = NODE_DATA(node)->node_zones;
+
+ node_free_pages =
+#ifdef CONFIG_ZONE_DMA
+ zone_page_state(&zones[ZONE_DMA], NR_FREE_PAGES) +
+#endif
+#ifdef CONFIG_ZONE_DMA32
+ zone_page_state(&zones[ZONE_DMA32], NR_FREE_PAGES) +
+#endif
+ zone_page_state(&zones[ZONE_NORMAL], NR_FREE_PAGES);
- node_free_pages = node_page_state(numa_node_id(),
- NR_FREE_PAGES);
max = node_free_pages / FRACTION_OF_NODE_MEM;
return max(max, min_pages);
}
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2008-01-03 21:04 ` Christoph Lameter
@ 2008-01-07 20:04 ` Christoph Lameter
2008-01-08 4:33 ` Dhaval Giani
0 siblings, 1 reply; 17+ messages in thread
From: Christoph Lameter @ 2008-01-07 20:04 UTC (permalink / raw)
To: Dhaval Giani
Cc: Andrew Morton, htejun, Srivatsa Vaddagiri, Balbir Singh, maneesh,
lkml, linux-mm
Here is the cleaned version of the patch. Dhaval is testing it.
quicklists: Only consider memory that can be used with GFP_KERNEL
Quicklists calculates the size of the quicklists based on the number
of free pages. This must be the number of free pages that can be
allocated with GFP_KERNEL. node_page_state() includes the pages in
ZONE_HIGHMEM and ZONE_MOVABLE which may lead the quicklists to
become too large causing OOM.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Index: linux-2.6/mm/quicklist.c
===================================================================
--- linux-2.6.orig/mm/quicklist.c 2008-01-07 10:38:13.000000000 -0800
+++ linux-2.6/mm/quicklist.c 2008-01-07 10:38:44.000000000 -0800
@@ -26,9 +26,17 @@ DEFINE_PER_CPU(struct quicklist, quickli
static unsigned long max_pages(unsigned long min_pages)
{
unsigned long node_free_pages, max;
+ struct zone *zones = NODE_DATA(numa_node_id())->node_zones;
+
+ node_free_pages =
+#ifdef CONFIG_ZONE_DMA
+ zone_page_state(&zones[ZONE_DMA], NR_FREE_PAGES) +
+#endif
+#ifdef CONFIG_ZONE_DMA32
+ zone_page_state(&zones[ZONE_DMA32], NR_FREE_PAGES) +
+#endif
+ zone_page_state(&zones[ZONE_NORMAL], NR_FREE_PAGES);
- node_free_pages = node_page_state(numa_node_id(),
- NR_FREE_PAGES);
max = node_free_pages / FRACTION_OF_NODE_MEM;
return max(max, min_pages);
}
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: 2.6.22-stable causes oomkiller to be invoked
2008-01-07 20:04 ` Christoph Lameter
@ 2008-01-08 4:33 ` Dhaval Giani
0 siblings, 0 replies; 17+ messages in thread
From: Dhaval Giani @ 2008-01-08 4:33 UTC (permalink / raw)
To: Christoph Lameter
Cc: Andrew Morton, htejun, Srivatsa Vaddagiri, Balbir Singh, maneesh,
lkml, linux-mm
On Mon, Jan 07, 2008 at 12:04:06PM -0800, Christoph Lameter wrote:
> Here is the cleaned version of the patch. Dhaval is testing it.
>
>
> quicklists: Only consider memory that can be used with GFP_KERNEL
>
> Quicklists calculates the size of the quicklists based on the number
> of free pages. This must be the number of free pages that can be
> allocated with GFP_KERNEL. node_page_state() includes the pages in
> ZONE_HIGHMEM and ZONE_MOVABLE which may lead the quicklists to
> become too large causing OOM.
>
> Signed-off-by: Christoph Lameter <clameter@sgi.com>
Does the job here for me.
Tested-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
>
> Index: linux-2.6/mm/quicklist.c
> ===================================================================
> --- linux-2.6.orig/mm/quicklist.c 2008-01-07 10:38:13.000000000 -0800
> +++ linux-2.6/mm/quicklist.c 2008-01-07 10:38:44.000000000 -0800
> @@ -26,9 +26,17 @@ DEFINE_PER_CPU(struct quicklist, quickli
> static unsigned long max_pages(unsigned long min_pages)
> {
> unsigned long node_free_pages, max;
> + struct zone *zones = NODE_DATA(numa_node_id())->node_zones;
> +
> + node_free_pages =
> +#ifdef CONFIG_ZONE_DMA
> + zone_page_state(&zones[ZONE_DMA], NR_FREE_PAGES) +
> +#endif
> +#ifdef CONFIG_ZONE_DMA32
> + zone_page_state(&zones[ZONE_DMA32], NR_FREE_PAGES) +
> +#endif
> + zone_page_state(&zones[ZONE_NORMAL], NR_FREE_PAGES);
>
> - node_free_pages = node_page_state(numa_node_id(),
> - NR_FREE_PAGES);
> max = node_free_pages / FRACTION_OF_NODE_MEM;
> return max(max, min_pages);
> }
--
regards,
Dhaval
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2008-01-08 4:33 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20071213132326.GC16905@linux.vnet.ibm.com>
[not found] ` <20071213151847.GB5676@linux.vnet.ibm.com>
[not found] ` <20071213162936.GA7635@suse.de>
[not found] ` <20071213164658.GA30865@linux.vnet.ibm.com>
[not found] ` <20071213175423.GA2977@linux.vnet.ibm.com>
[not found] ` <476295FF.1040202@gmail.com>
[not found] ` <20071214154711.GD23670@linux.vnet.ibm.com>
[not found] ` <4762A721.7080400@gmail.com>
[not found] ` <20071214161637.GA2687@linux.vnet.ibm.com>
[not found] ` <20071214095023.b5327703.akpm@linux-foundation.org>
[not found] ` <20071214182802.GC2576@linux.vnet.ibm.com>
2007-12-14 23:05 ` 2.6.22-stable causes oomkiller to be invoked Andrew Morton
2007-12-15 3:52 ` Dhaval Giani
2007-12-15 6:00 ` Andrew Morton
2007-12-15 10:44 ` Dhaval Giani
[not found] ` <20071217045904.GB31386@linux.vnet.ibm.com>
[not found] ` <Pine.LNX.4.64.0712171143280.12871@schroedinger.engr.sgi.com>
[not found] ` <20071217120720.e078194b.akpm@linux-foundation.org>
[not found] ` <Pine.LNX.4.64.0712171222470.29500@schroedinger.engr.sgi.com>
2007-12-21 4:45 ` Dhaval Giani
2007-12-26 21:01 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0712271119030.30555@schroedinger.engr.sgi.com>
2007-12-28 10:11 ` Dhaval Giani
2008-01-02 20:45 ` Christoph Lameter
2008-01-02 21:54 ` Christoph Lameter
2008-01-03 3:59 ` Dhaval Giani
2008-01-03 4:16 ` Dhaval Giani
2008-01-03 21:04 ` Christoph Lameter
2008-01-07 20:04 ` Christoph Lameter
2008-01-08 4:33 ` Dhaval Giani
2007-12-30 14:01 ` Ingo Molnar
2007-12-30 19:24 ` Dhaval Giani
2008-01-02 20:48 ` Christoph Lameter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox