Hi,
running the libhugetlbfs test suite I met the following bug:
BUG: sleeping function called from invalid context at include/linux/pagemap.h:294
in_atomic():1, irqs_disabled():0
CPU: 0 Not tainted 2.6.27-rc1 #3
Process private (pid: 4531, task: 000000003f68e400, ksp: 000000002a7e3be8)
0700000033a00700 000000002a7e3bf0 0000000000000002 0000000000000000
000000002a7e3c90 000000002a7e3c08 000000002a7e3c08 0000000000016472
0000000000000000 000000002a7e3be8 0000000000000000 0000000000000000
000000002a7e3bf0 000000000000000c 000000002a7e3bf0 000000002a7e3c60
0000000000337798 0000000000016472 000000002a7e3bf0 000000002a7e3c40
Call Trace:
([<00000000000163f4>] show_trace+0x130/0x140)
[<00000000000164cc>] show_stack+0xc8/0xfc
[<0000000000016c62>] dump_stack+0xb2/0xc0
[<000000000003d64a>] __might_sleep+0x136/0x154
[<000000000008badc>] find_lock_page+0x50/0xb8
[<00000000000b9b08>] hugetlb_fault+0x4c4/0x684
[<00000000000a3e3c>] handle_mm_fault+0x8ec/0xb54
[<00000000003338aa>] do_protection_exception+0x32a/0x3b4
[<00000000000256b2>] sysc_return+0x0/0x8
[<0000000000400fba>] 0x400fba
While holding mm->page_table_lock, hugetlb_fault() calls hugetlbfs_pagecache_page(),
which calls find_lock_page(), which may sleep.
Thanks,
Gerald
--
| Heiko Carstens | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
| Linus Torvalds | Linux 2.6.21-rc4 |
| Michael Kerrisk | nanosleep() uses CLOCK_MONOTONIC, should be CLOCK_REALTIME? |
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| Gary Thomas | Marvell 88E609x switch? |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
