Warning from might_sleep() in SWI handler

TAO HU tghk48 at motorola.com
Thu Jan 13 01:34:39 EST 2011


Hi, All

We're getting kernel run on OMAP4430 chip (ARMv7, dual core), and got an
unexpected warning by might_sleep() function. While that happened,
we're performing system test which almost consumed all system memory.

Based on log below, might_sleep() threw out an unexpected warning
in page fault exception triggered by short of memory while calling
system call (by SWI exception). This should be a normal scenario, but,
kernel doesn't seem to handle it fine.  Any thoughts ?

 log:

<6>[35377.073242] request_suspend_state: wakeup (0->0) at
32812699437166 (2010-12-29 19:08:41.273678467 UTC)
<6>[35379.468200] input: sensors as /devices/virtual/input/input9
<6>[35380.344421] usb_ether_get_stats
<6>[35380.362335] usb_ether_get_stats
<6>[35380.399444] usb_ether_get_stats
<6>[35380.417022] usb_ether_get_stats
<6>[35380.618469] usb_ether_get_stats
<3>[35391.279327] init: untracked pid 25171 exited
<4>[35393.306610] events/0: page allocation failure. order:1, mode:0x20
<4>[35393.313140] [<c004b7a0>] (unwind_backtrace+0x0/0xf0) from
[<c00f2df8>] (__alloc_pages_nodemask+0x568/0x6e8)
<4>[35393.323455] [<c00f2df8>] (__alloc_pages_nodemask+0x568/0x6e8)
from [<c0117a64>] (cache_grow.clone.0+0xac/0x3e8)
<4>[35393.334167] [<c0117a64>] (cache_grow.clone.0+0xac/0x3e8) from
[<c011a0a0>] (__kmalloc_track_caller+0x3f4/0x6cc)
<4>[35393.344848] [<c011a0a0>] (__kmalloc_track_caller+0x3f4/0x6cc)
from [<c0373264>] (__alloc_skb+0x50/0xe0)
<4>[35393.354827] [<c0373264>] (__alloc_skb+0x50/0xe0) from
[<bf030020>] (st_int_recv+0x370/0x48c [st_drv])
<4>[35393.364593] [<bf030020>] (st_int_recv+0x370/0x48c [st_drv]) from
[<bf02f018>] (st_tty_receive+0x18/0x20 [st_drv])
<4>[35393.375488] [<bf02f018>] (st_tty_receive+0x18/0x20 [st_drv])
from [<c0240ae0>] (flush_to_ldisc+0xe0/0x180)
<4>[35393.385711] [<c0240ae0>] (flush_to_ldisc+0xe0/0x180) from
[<c00a4cac>] (worker_thread+0x1e4/0x278)
<4>[35393.395202] [<c00a4cac>] (worker_thread+0x1e4/0x278) from
[<c00a8ab0>] (kthread+0x78/0x80)
<4>[35393.403961] [<c00a8ab0>] (kthread+0x78/0x80) from [<c00462cc>]
(kernel_thread_exit+0x0/0x8)
<4>[35393.412811] Mem-info:
<4>[35393.415222] Normal per-cpu:
<4>[35393.418182] CPU    0: hi:  186, btch:  31 usd:   5
<4>[35393.423248] CPU    1: hi:  186, btch:  31 usd:  91
<4>[35393.428314] active_anon:15917 inactive_anon:15771 isolated_anon:1
<4>[35393.428314]  active_file:5235 inactive_file:7587 isolated_file:0
<4>[35393.428344]  unevictable:50762 dirty:56 writeback:0 unstable:0
<4>[35393.428344]  free:1037 slab_reclaimable:1224 slab_unreclaimable:3021
<4>[35393.428344]  mapped:12461 shmem:93 pagetables:3545 bounce:0
<4>[35393.459930] Normal free:4148kB min:2848kB low:3560kB high:4272kB
active_anon:63668kB inactive_anon:63084kB active_file:20940kB
inactive_file:30348kB unevictable:203048kB isolated(anon):4kB
isolated(file):0kB present:508000kB mlocked:0kB dirty:224kB
writeback:0kB mapped:49844kB shmem:372kB slab_reclaimable:4896kB
slab_unreclaimable:12084kB kernel_stack:3664kB pagetables:14180kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:32
all_unreclaimable? no
<4>[35393.502685] lowmem_reserve[]: 0 0 0
<4>[35393.506378] Normal: 1037*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB
0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 4148kB
<4>[35393.517517] 63672 total pagecache pages
<4>[35393.521545] 0 pages in swap cache
<4>[35393.525054] Swap cache stats: add 0, delete 0, find 0/0
<4>[35393.530578] Free swap  = 0kB
<4>[35393.533630] Total swap = 0kB
<4>[35393.555419] 128000 pages of RAM
<4>[35393.558746] 1790 free pages
<4>[35393.561676] 17305 reserved pages
<4>[35393.565093] 4254 slab pages
<4>[35393.568054] 127057 pages shared
<4>[35393.571350] 0 pages swap cached
<3>[35393.596527] (stc): Can't allocate mem for new packet
<3>[35398.317199] hci_cmd_task: hci0 command tx timeout
<3>[35403.916595] BUG: sleeping function called from invalid context
at /Volumes/data/hudson/workspace/integrated_device-cdma-solana-eng_main-dev_linux_continuous/platform/kernel/omap4/arch/arm/mm/fault.c:295
<3>[35403.935455] in_atomic(): 0, irqs_disabled(): 128, pid: 25390,
name: Thread-9
<4>[35403.942901] [<c004b7a0>] (unwind_backtrace+0x0/0xf0) from
[<c007eb24>] (__might_sleep+0x11c/0x148)
<4>[35403.952301] [<c007eb24>] (__might_sleep+0x11c/0x148) from
[<c004eccc>] (do_page_fault+0xa8/0x2e8)
<4>[35403.961608] [<c004eccc>] (do_page_fault+0xa8/0x2e8) from
[<c0044488>] (do_DataAbort+0x34/0xa8)
<4>[35403.970642] [<c0044488>] (do_DataAbort+0x34/0xa8) from
[<c0044bec>] (__dabt_svc+0x4c/0x60)
<4>[35403.979309] Exception stack(0xd1b79f68 to 0xd1b79fb0)
<4>[35403.984588] 9f60:                   4624d868 00020241 00000180
4847ba4c 00000241 00228e58
<4>[35403.993164] 9f80: 00000180 00000005 20000010 43c66d8c 43c66d74
46251a60 ad12e228 d1b79fb0
<4>[35404.001739] 9fa0: afd0da0c c0045228 60000093 ffffffff
<4>[35404.007019] [<c0044bec>] (__dabt_svc+0x4c/0x60) from
[<c0045228>] (vector_swi+0x28/0x88)



-- 
Best Regards
Hu Tao



More information about the linux-arm-kernel mailing list