ia64_sync_krbs() may sleep with interrupts disabled

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

 



Hello,

Here is another problem I ran into on 2.6.25

Although perfmon does rely on do_notify_resume_user(), it does not
fiddle with TIF_RESTORE_RSE. What it may cause however, is more
frequent calls to do_notify_resume_user() because perfmon does
piggyback its own flag (TIF_PERFMON_WORK) onto TIF_NOTIFY_RESUME.

In any case, executing the function triggers an assertion about sleeping with
interrupts disabled. Here is the call stack I am getting:

BUG: sleeping function called from invalid context at kernel/rwsem.c:21
in_atomic():0, irqs_disabled():1

Call Trace:
 [<a000000100012d60>] show_stack+0x40/0xa0
                                sp=e0000003ea02f840 bsp=e0000003ea028f10
 [<a000000100012df0>] dump_stack+0x30/0x60
                                sp=e0000003ea02fa10 bsp=e0000003ea028ef8
 [<a000000100064de0>] __might_sleep+0x1c0/0x1e0
                                sp=e0000003ea02fa10 bsp=e0000003ea028ed0
 [<a00000010050d1c0>] down_read+0x20/0x60
                                sp=e0000003ea02fa10 bsp=e0000003ea028eb0
 [<a0000001001093a0>] access_process_vm+0x60/0x2c0
                                sp=e0000003ea02fa10 bsp=e0000003ea028e20
 [<a0000001000148b0>] ia64_sync_kernel_rbs+0x30/0x100
                                sp=e0000003ea02fa20 bsp=e0000003ea028de0
 [<a000000100014fc0>] do_sync_rbs+0xc0/0x100
                                sp=e0000003ea02fa30 bsp=e0000003ea028db0
 [<a00000010000a8b0>] unw_init_running+0x70/0xa0
                                sp=e0000003ea02fa40 bsp=e0000003ea028d88
 [<a000000100018760>] ia64_sync_krbs+0x80/0xa0
                                sp=e0000003ea02fe20 bsp=e0000003ea028d70
 [<a000000100013800>] do_notify_resume_user+0x140/0x1a0
                                sp=e0000003ea02fe20 bsp=e0000003ea028d40
 [<a00000010000a740>] notify_resume_user+0x40/0x60
                                sp=e0000003ea02fe20 bsp=e0000003ea028cf0
 [<a00000010000a670>] skip_rbs_switch+0xe0/0x110
                                sp=e0000003ea02fe30 bsp=e0000003ea028cf0
 [<a000000000010720>] ia64_ivt+0xffffffff00010720/0x400
                                sp=e0000003ea030000 bsp=e0000003ea028cf0


Any ideas?
--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux