Re: DEBUG_PAGEALLOC & SMP?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Andrew Morton <[email protected]> wrote:

> Ingo Molnar <[email protected]> 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)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux