Messages in this thread | | | Date | Sun, 27 Sep 2015 12:51:29 -0400 | From | Steven Rostedt <> | Subject | Re: Tracing IRQ-flags |
| |
On Sun, 27 Sep 2015 15:25:41 +0200 Sedat Dilek <sedat.dilek@gmail.com> wrote:
> Hi Ingo, Hi Steven, > > I am still fighting with a llvmlinux problem in the area... > > workqueue | hid | irq-flags (hardirqs/sofirqs disabled) | whatever?! > > ...(see [0]). > > [ 24.705463] BUG: sleeping function called from invalid context at > kernel/workqueue.c:2680 > [ 24.705576] in_atomic(): 0, irqs_disabled(): 1, pid: 1447, name: acpid > > Several people had ideas where to look at - Thanks. > > Finally, Jiri encouraged me to try with a ftrace graph trace (see [1]).
Actually, if you are looking for where interrupts were disabled last before triggering the "sleeping function called from invalid context", lockdep, not ftrace, would be your better bet.
Enable lockdep with CONFIG_PROVE_LOCKING. It will give you better information about where the last irq was disabled.
-- Steve
| |