Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1233663 > unrolled thread
| Started by | Sedat Dilek <sedat.dilek@gmail.com> |
|---|---|
| First post | 2015-09-27 15:30 +0200 |
| Last post | 2015-09-27 19:00 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
Tracing IRQ-flags Sedat Dilek <sedat.dilek@gmail.com> - 2015-09-27 15:30 +0200
Re: Tracing IRQ-flags Steven Rostedt <rostedt@goodmis.org> - 2015-09-27 19:00 +0200
| From | Sedat Dilek <sedat.dilek@gmail.com> |
|---|---|
| Date | 2015-09-27 15:30 +0200 |
| Subject | Tracing IRQ-flags |
| Message-ID | <qdkbE-8pw-7@gated-at.bofh.it> |
[Multipart message — attachments visible in raw view] — view raw
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]).
I remembered TraceFS entered Linux v4.1 and wanted to play with it.
One result is the attached doc.
Can I do a ftrace graph trace with TraceFS?
And how do I do that?
Steven, is it possible to place your tracing mini-HOWTO (file:
/sys/kernel/tracing/README) into docs-dir?
Existing Documentation/trace?
Documentation/tracefs (new)?
Documentation/tracing (new)?
First, I was confused how and where to mount tracefs :-(.
Thanks.
Ingo, the kernel-configs in irqflags-tracing.txt doc are a bit outdated.
Which are very important for irqflags-tracing (hardirq | softirq)?
Are the lockdeps settings important?
Is irqsoff setting important?
$ egrep -i 'lockdep|tracing|irqsoff|irqflags' /boot/config-$(uname -r) | sort
CONFIG_DEBUG_LOCKDEP=y
CONFIG_EVENT_TRACING=y
CONFIG_IRQSOFF_TRACER=y
CONFIG_IWLWIFI_DEVICE_TRACING=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_LOCKDEP=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS=y
CONFIG_TRACING_SUPPORT=y
CONFIG_TRACING=y
What about a new tracing-dir in Documentation/ and place all tracing docs there?
Thanks.
Regards,
- Sedat -
[0] http://marc.info/?t=144179442100006&r=1&w=2
[1] http://marc.info/?l=linux-kernel&m=144318685710847&w=2
[2] https://lwn.net/Articles/631798/
[3] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/irqflags-tracing.txt
[toc] | [next] | [standalone]
| From | Steven Rostedt <rostedt@goodmis.org> |
|---|---|
| Date | 2015-09-27 19:00 +0200 |
| Message-ID | <qdnsR-4yp-3@gated-at.bofh.it> |
| In reply to | #1233663 |
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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web