From: Ingo Molnar <mingo@elte.hu>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: DEBUG_PAGEALLOC & SMP?
Date: Thu, 23 Jun 2005 11:29:02 +0200 [thread overview]
Message-ID: <20050623092902.GA29602@elte.hu> (raw)
In-Reply-To: <20050623022000.094169d4.akpm@osdl.org>
* Andrew Morton <akpm@osdl.org> wrote:
> Ingo Molnar <mingo@elte.hu> wrote:
> >
> > is this a known problem?
>
> Nope.
>
> > I'm getting an oom-kill and a stuck boot with
> > SMP & PAGEALLOC enabled. The UP kernel boots fine.
>
> Strange, something gobbled all of your ZONE_DMA. 0xd1 is
> GFP_KERNEL|GFP_DMA, so perhaps something has gone mad in the bouncing
> code.
>
> The oom-killer is supposed to do a dump_stack(), but it looks like
> that patch got lost.
added them, it's:
(gdb) list *0xc02f993f
0xc02f993f is in sd_revalidate_disk (drivers/scsi/sd.c:1472).
1467 "failure.\n");
1468 goto out;
1469 }
1470
1471 buffer = kmalloc(512, GFP_KERNEL | __GFP_DMA);
1472 if (!buffer) {
1473 printk(KERN_WARNING "(sd_revalidate_disk:) Memory allocation "
1474 "failure.\n");
1475 goto out_release_request;
1476 }
(gdb)
full log attached below. (ob'fun: the oom-killer picked the migration
thread to kill ;)
Ingo
scsi0:A:1:0: Tagged Queuing enabled. Depth 32
target0:0:1: Beginning Domain Validation
WIDTH IS 1
(scsi0:A:1): 6.600MB/s transfers (16bit)
(scsi0:A:1): 160.000MB/s transfers (80.000MHz DT, offset 63, 16bit)
target0:0:1: Ending Domain Validation
scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
<Adaptec aic7899 Ultra160 SCSI adapter>
aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs
Calling initcall 0xc049b713: ahd_linux_init+0x0/0x19()
Calling initcall 0xc049b72c: init_sd+0x0/0x53()
oom-killer: gfp_mask=0xd1
DMA per-cpu:
cpu 0 hot: low 2, high 6, batch 1
cpu 0 cold: low 0, high 2, batch 1
cpu 1 hot: low 2, high 6, batch 1
cpu 1 cold: low 0, high 2, batch 1
cpu 2 hot: low 2, high 6, batch 1
cpu 2 cold: low 0, high 2, batch 1
cpu 3 hot: low 2, high 6, batch 1
cpu 3 cold: low 0, high 2, batch 1
Normal per-cpu:
cpu 0 hot: low 62, high 186, batch 31
cpu 0 cold: low 0, high 62, batch 31
cpu 1 hot: low 62, high 186, batch 31
cpu 1 cold: low 0, high 62, batch 31
cpu 2 hot: low 62, high 186, batch 31
cpu 2 cold: low 0, high 62, batch 31
cpu 3 hot: low 62, high 186, batch 31
cpu 3 cold: low 0, high 62, batch 31
HighMem per-cpu: empty
Free pages: 875456kB (0kB HighMem)
Active:0 inactive:0 dirty:0 writeback:0 unstable:0 free:218864 slab:1007 mapped:0 pagetables:0
DMA free:0kB min:68kB low:84kB high:100kB active:0kB inactive:0kB present:16384kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 880 880
Normal free:875456kB min:3756kB low:4692kB high:5632kB active:0kB inactive:0kB present:901120kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
HighMem free:0kB min:128kB low:160kB high:192kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
Normal: 0*4kB 2*8kB 1*16kB 1*32kB 0*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 213*4096kB = 875456kB
HighMem: empty
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 0kB
Total swap = 0kB
curr: swapper/1.
[<c0103e9a>] dump_stack+0x23/0x25 (20)
[<c01402a9>] out_of_memory+0x7a/0x111 (32)
[<c0141485>] __alloc_pages+0x40f/0x419 (72)
[<c0144071>] kmem_getpages+0x34/0x9a (32)
[<c0144f06>] cache_grow+0xb6/0x1bd (52)
[<c0145210>] cache_alloc_refill+0x203/0x263 (60)
[<c0145495>] kmem_cache_alloc+0x8a/0x8e (32)
[<c02f993f>] sd_revalidate_disk+0x54/0x13b (44)
[<c02f9c15>] sd_probe+0x1ef/0x345 (64)
[<c02250b3>] driver_probe_device+0x2f/0x70 (24)
[<c02251ed>] driver_attach+0x54/0x94 (36)
[<c02256fb>] bus_add_driver+0xa6/0xd0 (32)
[<c049b778>] init_sd+0x4c/0x53 (24)
[<c047e9f1>] do_initcalls+0x32/0xc5 (36)
[<c0100405>] init+0xcc/0x24f (28)
[<c010111d>] kernel_thread_helper+0x5/0xb (138018844)
---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c03a0a7d>] .... _raw_read_lock+0x1b/0x87
.....[<c014024c>] .. ( <= out_of_memory+0x1d/0x111)
.. [<c0137f15>] .... print_traces+0x1b/0x52
.....[<c0103e9a>] .. ( <= dump_stack+0x23/0x25)
p: migration/0/2.
f7c69f64 00000082 f7c6b220 c185dedc 00000000 c04c3248 c186e6a0 f7c69f3c
c010fbc8 c185dea0 00000001 f7c6b220 c185dea0 0000038f 0b5710a9 00000000
f7c6b220 f7c5c030 f7c5c158 f7c68000 c185dea0 f7c68000 f7c69f88 c039f781
Call Trace:
[<c039f781>] schedule+0x3f/0x146 (36)
[<c01186f6>] migration_thread+0x114/0x1ab (44)
[<c013159b>] kthread+0xab/0xd3 (48)
[<c010111d>] kernel_thread_helper+0x5/0xb (137977884)
---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c039eebe>] .... __schedule+0x4e/0x8d2
.....[<c039f781>] .. ( <= schedule+0x3f/0x146)
.. [<c03a0990>] .... _raw_spin_lock_irqsave+0x1c/0xa5
.....[<c039ef64>] .. ( <= __schedule+0xf4/0x8d2)
next prev parent reply other threads:[~2005-06-23 9:36 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-23 9:09 DEBUG_PAGEALLOC & SMP? Ingo Molnar
2005-06-23 9:20 ` Andrew Morton
2005-06-23 9:29 ` Ingo Molnar [this message]
2005-06-23 9:40 ` Ingo Molnar
2005-06-23 11:13 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050623092902.GA29602@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.