***** TRACEFS-TRACING-IRQFLAGS.txt ***** [ HELP ] [1] tracing mini-HOWTO: See /sys/kernel/tracing/README file [2] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/irqflags-tracing.txt [3] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/trace [ KERNEL-CONFIG SETTINGS ] [ TRACEFS ] CONFIG_TRACING_SUPPORT=y CONFIG_TRACING=y [ IRQFLAGS-TRACING AND IRQSOFF LATENCY TRACER ] CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_TRACE_IRQFLAGS=y CONFIG_IRQSOFF_TRACER=y [ MOUNT AND CHECK TRACEFS ] root# mount -t tracefs none /sys/kernel/tracing root# mount | grep tracefs none on /sys/kernel/tracing type tracefs (rw,relatime) [ ENTER TRACEFS-DIR ] root# cd /sys/kernel/tracing/ [ DOCUMENTATION: TRACING MINI-HOWTO ] root# cat README [ CHECK TRACING SETTINGS ] root# cat tracing_on 1 [ DISABLE TRACING AND EMPTY TRACE FILE ] root# echo 0 > tracing_on root# cat tracing_on 0 root# echo > trace root# cat trace # tracer: nop # # entries-in-buffer/entries-written: 0/0 #P:4 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | [ CHECK AVAILABLE TRACERS AND EVENTS (HERE: IRQSOFF) ] root# cat /sys/kernel/tracing/available_tracers blk mmiotrace function_graph wakeup_dl wakeup_rt wakeup irqsoff function nop <--- XXX: IRQSOFF root# cat /sys/kernel/tracing/available_events | grep irq: irq:irq_handler_entry irq:irq_handler_exit irq:softirq_entry irq:softirq_exit irq:softirq_raise root# cat events/irq/enable 1 root# cat events/irq/filter ### global filter ### # Use this to set filters for multiple events. # Only events with the given fields will be affected. # If no events are modified, an error message will be displayed here [ ENABLE IRQ_HANDLER AND SOFTIRQ SETTINGS ] root# echo 1 > events/irq/irq_handler_entry/enable root# echo 1 > events/irq/irq_handler_exit/enable root# cat events/irq/irq_handler_entry/enable events/irq/irq_handler_exit/enable 1 1 root# echo 1 > events/irq/softirq_entry/enable root# echo 1 > events/irq/softirq_exit/enable root# echo 1 > events/irq/softirq_raise/enable root# cat events/irq/softirq_entry/enable events/irq/softirq_exit/enable events/irq/softirq_raise/enable 1 1 1 root# cat trace # tracer: nop # # entries-in-buffer/entries-written: 0/0 #P:4 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | [ START TRACING ] root# echo 1 > tracing_on [ CHECK TRACE FILE ] root# cat trace -dileks // 27-SEP-2015