<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/kernel/trace/trace.c, branch v3.4-rc2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=v3.4-rc2</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=v3.4-rc2'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2012-03-27T16:05:44Z</updated>
<entry>
<title>tracing: Fix ent_size in trace output</title>
<updated>2012-03-27T16:05:44Z</updated>
<author>
<name>Steven Rostedt</name>
<email>srostedt@redhat.com</email>
</author>
<published>2012-03-27T14:43:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b'/>
<id>urn:sha1:12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b</id>
<content type='text'>
When reading the trace file, the records of each of the per_cpu buffers
are examined to find the next event to print out. At the point of looking
at the event, the size of the event is recorded. But if the first event is
chosen, the other events in the other CPU buffers will reset the event size
that is stored in the iterator descriptor, causing the event size passed to
the output functions to be incorrect.

In most cases this is not a problem, but for the case of stack traces, it
is. With the change to the stack tracing to record a dynamic number of
back traces, the output depends on the size of the entry instead of the
fixed 8 back traces. When the entry size is not correct, the back traces
would not be fully printed.

Note, reading from the per-cpu trace files were not affected.

Reported-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tracing: Keep NMI watchdog from triggering when dumping trace</title>
<updated>2012-03-02T03:06:48Z</updated>
<author>
<name>Steven Rostedt</name>
<email>srostedt@redhat.com</email>
</author>
<published>2012-03-02T03:06:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=b892e5c89787716b95a8e55d77d25a1c0748df10'/>
<id>urn:sha1:b892e5c89787716b95a8e55d77d25a1c0748df10</id>
<content type='text'>
As ftrace_dump() (called by ftrace_dump_on_oops) disables interrupts
as it dumps its output to the console, it can keep interrupts disabled
for long periods of time. This is likely to trigger the NMI watchdog,
and it can disrupt the output of critical data.

Add a touch_nmi_watchdog() to each event that is written to the screen
to keep the NMI watchdog from affecting the output.

Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tracing/ring-buffer: Only have tracing_on disable tracing buffers</title>
<updated>2012-02-22T20:50:28Z</updated>
<author>
<name>Steven Rostedt</name>
<email>srostedt@redhat.com</email>
</author>
<published>2012-02-22T20:50:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=499e547057f5bba5cd6f87ebe59b05d0c59da905'/>
<id>urn:sha1:499e547057f5bba5cd6f87ebe59b05d0c59da905</id>
<content type='text'>
As the ring-buffer code is being used by other facilities in the
kernel, having tracing_on file disable *all* buffers is not a desired
affect. It should only disable the ftrace buffers that are being used.

Move the code into the trace.c file and use the buffer disabling
for tracing_on() and tracing_off(). This way only the ftrace buffers
will be affected by them and other kernel utilities will not be
confused to why their output suddenly stopped.

Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>ftrace: sched_switch plugin is deprecated</title>
<updated>2012-02-13T14:14:47Z</updated>
<author>
<name>Geunsik Lim</name>
<email>geunsik.lim@samsung.com</email>
</author>
<published>2012-02-08T10:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=1e42e83fde5537266c1d1e7fd8c010b3028d50fc'/>
<id>urn:sha1:1e42e83fde5537266c1d1e7fd8c010b3028d50fc</id>
<content type='text'>
Actually, sched_switch function tracer is merged into wakeup/wakeup_rt
Update 'mini-HOWTO' for ftrace(Kernel function tracer).
If we want to trace "sched:sched_switch" to trace sched_switch func,
We may utilize event option.(e.g: trace-cmd list -e | grep sched)
This patch is based on Linux-3.3.rc2-SMP-PREEMPT

Link: http://lkml.kernel.org/r/1328695537-15081-1-git-send-email-geunsik.lim@gmail.com

Cc: Randy Dunlap &lt;rdunlap@xenotime.net&gt;
Signed-off-by: Geunsik Lim &lt;geunsik.lim@samsung.com&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs</title>
<updated>2012-01-08T20:19:57Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-01-08T20:19:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=972b2c719990f91eb3b2310d44ef8a2d38955a14'/>
<id>urn:sha1:972b2c719990f91eb3b2310d44ef8a2d38955a14</id>
<content type='text'>
* 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
  reiserfs: Properly display mount options in /proc/mounts
  vfs: prevent remount read-only if pending removes
  vfs: count unlinked inodes
  vfs: protect remounting superblock read-only
  vfs: keep list of mounts for each superblock
  vfs: switch -&gt;show_options() to struct dentry *
  vfs: switch -&gt;show_path() to struct dentry *
  vfs: switch -&gt;show_devname() to struct dentry *
  vfs: switch -&gt;show_stats to struct dentry *
  switch security_path_chmod() to struct path *
  vfs: prefer -&gt;dentry-&gt;d_sb to -&gt;mnt-&gt;mnt_sb
  vfs: trim includes a bit
  switch mnt_namespace -&gt;root to struct mount
  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
  vfs: opencode mntget() mnt_set_mountpoint()
  vfs: spread struct mount - remaining argument of next_mnt()
  vfs: move fsnotify junk to struct mount
  vfs: move mnt_devname
  vfs: move mnt_list to struct mount
  vfs: switch pnode.h macros to struct mount *
  ...
</content>
</entry>
<entry>
<title>Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2012-01-06T16:02:58Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-01-06T16:02:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=35b740e4662ef386f0c60e1b60aaf5b44db9914c'/>
<id>urn:sha1:35b740e4662ef386f0c60e1b60aaf5b44db9914c</id>
<content type='text'>
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)
  perf kvm: Fix copy &amp; paste error in description
  perf script: Kill script_spec__delete
  perf top: Fix a memory leak
  perf stat: Introduce get_ratio_color() helper
  perf session: Remove impossible condition check
  perf tools: Fix feature-bits rework fallout, remove unused variable
  perf script: Add generic perl handler to process events
  perf tools: Use for_each_set_bit() to iterate over feature flags
  perf tools: Unify handling of features when writing feature section
  perf report: Accept fifos as input file
  perf tools: Moving code in some files
  perf tools: Fix out-of-bound access to struct perf_session
  perf tools: Continue processing header on unknown features
  perf tools: Improve macros for struct feature_ops
  perf: builtin-record: Document and check that mmap_pages must be a power of two.
  perf: builtin-record: Provide advice if mmap'ing fails with EPERM.
  perf tools: Fix truncated annotation
  perf script: look up thread using tid instead of pid
  perf tools: Look up thread names for system wide profiling
  perf tools: Fix comm for processes with named threads
  ...
</content>
</entry>
<entry>
<title>switch debugfs to umode_t</title>
<updated>2012-01-04T03:54:56Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2011-07-24T08:33:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=f4ae40a6a50a98ac23d4b285f739455e926a473e'/>
<id>urn:sha1:f4ae40a6a50a98ac23d4b285f739455e926a473e</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>trace: Allow ftrace_dump() to be called from modules</title>
<updated>2011-12-11T18:31:25Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paul.mckenney@linaro.org</email>
</author>
<published>2011-10-02T18:01:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=a8eecf2248a45bf69f0625b23c003ad2ccd765ee'/>
<id>urn:sha1:a8eecf2248a45bf69f0625b23c003ad2ccd765ee</id>
<content type='text'>
Add an EXPORT_SYMBOL_GPL() so that rcutorture can dump the trace buffer
upon detection of an RCU error.

Signed-off-by: Paul E. McKenney &lt;paul.mckenney@linaro.org&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Reviewed-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
</content>
</entry>
<entry>
<title>tracing: Add entries in buffer and total entries to default output header</title>
<updated>2011-11-17T16:10:43Z</updated>
<author>
<name>Steven Rostedt</name>
<email>srostedt@redhat.com</email>
</author>
<published>2011-11-17T15:35:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544'/>
<id>urn:sha1:39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544</id>
<content type='text'>
Knowing the number of event entries in the ring buffer compared
to the total number that were written is useful information. The
latency format gives this information and there's no reason that the
default format does not.

This information is now added to the default header, along with the
number of online CPUs:

 # tracer: nop
 #
 # entries-in-buffer/entries-written: 159836/64690869   #P:4
 #
 #                              _-----=&gt; irqs-off
 #                             / _----=&gt; need-resched
 #                            | / _---=&gt; hardirq/softirq
 #                            || / _--=&gt; preempt-depth
 #                            ||| /     delay
 #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
 #              | |       |   ||||       |         |
           &lt;idle&gt;-0     [000] ...2    49.442971: local_touch_nmi &lt;-cpu_idle
           &lt;idle&gt;-0     [000] d..2    49.442973: enter_idle &lt;-cpu_idle
           &lt;idle&gt;-0     [000] d..2    49.442974: atomic_notifier_call_chain &lt;-enter_idle
           &lt;idle&gt;-0     [000] d..2    49.442976: __atomic_notifier_call_chain &lt;-atomic_notifier

The above shows that the trace contains 159836 entries, but
64690869 were written. One could figure out that there were
64531033 entries that were dropped.

Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tracing: Add irq, preempt-count and need resched info to default trace output</title>
<updated>2011-11-17T14:58:48Z</updated>
<author>
<name>Steven Rostedt</name>
<email>srostedt@redhat.com</email>
</author>
<published>2011-11-17T14:34:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=77271ce4b2c0df0a76ad1cbb6a95b07e1f88c1ea'/>
<id>urn:sha1:77271ce4b2c0df0a76ad1cbb6a95b07e1f88c1ea</id>
<content type='text'>
People keep asking how to get the preempt count, irq, and need resched info
and we keep telling them to enable the latency format. Some developers think
that traces without this info is completely useless, and for a lot of tasks
it is useless.

The first option was to enable the latency trace as the default format, but
the header for the latency format is pretty useless for most tracers and
it also does the timestamp in straight microseconds from the time the trace
started. This is sometimes more difficult to read as the default trace is
seconds from the start of boot up.

Latency format:

 # tracer: nop
 #
 # nop latency trace v1.1.5 on 3.2.0-rc1-test+
 # --------------------------------------------------------------------
 # latency: 0 us, #159771/64234230, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4)
 #    -----------------
 #    | task: -0 (uid:0 nice:0 policy:0 rt_prio:0)
 #    -----------------
 #
 #                  _------=&gt; CPU#
 #                 / _-----=&gt; irqs-off
 #                | / _----=&gt; need-resched
 #                || / _---=&gt; hardirq/softirq
 #                ||| / _--=&gt; preempt-depth
 #                |||| /     delay
 #  cmd     pid   ||||| time  |   caller
 #     \   /      |||||  \    |   /
 migratio-6       0...2 41778231us+: rcu_note_context_switch &lt;-__schedule
 migratio-6       0...2 41778233us : trace_rcu_utilization &lt;-rcu_note_context_switch
 migratio-6       0...2 41778235us+: rcu_sched_qs &lt;-rcu_note_context_switch
 migratio-6       0d..2 41778236us+: rcu_preempt_qs &lt;-rcu_note_context_switch
 migratio-6       0...2 41778238us : trace_rcu_utilization &lt;-rcu_note_context_switch
 migratio-6       0...2 41778239us+: debug_lockdep_rcu_enabled &lt;-__schedule

default format:

 # tracer: nop
 #
 #           TASK-PID    CPU#    TIMESTAMP  FUNCTION
 #              | |       |          |         |
      migration/0-6     [000]    50.025810: rcu_note_context_switch &lt;-__schedule
      migration/0-6     [000]    50.025812: trace_rcu_utilization &lt;-rcu_note_context_switch
      migration/0-6     [000]    50.025813: rcu_sched_qs &lt;-rcu_note_context_switch
      migration/0-6     [000]    50.025815: rcu_preempt_qs &lt;-rcu_note_context_switch
      migration/0-6     [000]    50.025817: trace_rcu_utilization &lt;-rcu_note_context_switch
      migration/0-6     [000]    50.025818: debug_lockdep_rcu_enabled &lt;-__schedule
      migration/0-6     [000]    50.025820: debug_lockdep_rcu_enabled &lt;-__schedule

The latency format header has latency information that is pretty meaningless
for most tracers. Although some of the header is useful, and we can add that
later to the default format as well.

What is really useful with the latency format is the irqs-off, need-resched
hard/softirq context and the preempt count.

This commit adds the option irq-info which is on by default that adds this
information:

 # tracer: nop
 #
 #                              _-----=&gt; irqs-off
 #                             / _----=&gt; need-resched
 #                            | / _---=&gt; hardirq/softirq
 #                            || / _--=&gt; preempt-depth
 #                            ||| /     delay
 #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
 #              | |       |   ||||       |         |
           &lt;idle&gt;-0     [000] d..2    49.309305: cpuidle_get_driver &lt;-cpuidle_idle_call
           &lt;idle&gt;-0     [000] d..2    49.309307: mwait_idle &lt;-cpu_idle
           &lt;idle&gt;-0     [000] d..2    49.309309: need_resched &lt;-mwait_idle
           &lt;idle&gt;-0     [000] d..2    49.309310: test_ti_thread_flag &lt;-need_resched
           &lt;idle&gt;-0     [000] d..2    49.309312: trace_power_start.constprop.13 &lt;-mwait_idle
           &lt;idle&gt;-0     [000] d..2    49.309313: trace_cpu_idle &lt;-mwait_idle
           &lt;idle&gt;-0     [000] d..2    49.309315: need_resched &lt;-mwait_idle

If a user wants the old format, they can disable the 'irq-info' option:

 # tracer: nop
 #
 #           TASK-PID   CPU#      TIMESTAMP  FUNCTION
 #              | |       |          |         |
           &lt;idle&gt;-0     [000]     49.309305: cpuidle_get_driver &lt;-cpuidle_idle_call
           &lt;idle&gt;-0     [000]     49.309307: mwait_idle &lt;-cpu_idle
           &lt;idle&gt;-0     [000]     49.309309: need_resched &lt;-mwait_idle
           &lt;idle&gt;-0     [000]     49.309310: test_ti_thread_flag &lt;-need_resched
           &lt;idle&gt;-0     [000]     49.309312: trace_power_start.constprop.13 &lt;-mwait_idle
           &lt;idle&gt;-0     [000]     49.309313: trace_cpu_idle &lt;-mwait_idle
           &lt;idle&gt;-0     [000]     49.309315: need_resched &lt;-mwait_idle

Requested-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
</feed>
