All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Martin Bligh <mbligh@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Martin Bligh <mbligh@mbligh.org>,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	prasad@linux.vnet.ibm.com,
	Mathieu Desnoyers <compudj@krystal.dyndns.org>,
	"Frank Ch. Eigler" <fche@redhat.com>,
	David Wilder <dwilder@us.ibm.com>,
	hch@lst.de, Tom Zanussi <zanussi@comcast.net>,
	Steven Rostedt <srostedt@redhat.com>
Subject: Re: [RFC PATCH 1/3] Unified trace buffer
Date: Thu, 25 Sep 2008 23:41:34 +0200	[thread overview]
Message-ID: <20080925214134.GA23025@elte.hu> (raw)
In-Reply-To: <20080925211017.GA12689@elte.hu>


* Ingo Molnar <mingo@elte.hu> wrote:

> * Linus Torvalds <torvalds@linux-foundation.org> wrote:
> 
> > On Thu, 25 Sep 2008, Linus Torvalds wrote:
> > > 
> > > You also ignore the early trace issues, and have apparently not used 
> > > it for FTRACE. You also ignore the fact that without TSC, it goes 
> > > into the same "crap mode" that is appropriate for the scheduler, but 
> > > totally useless for tracing.
> > 
> > Oh, and I didn't notice (because Steven pointed out "notrace" and I 
> > didn't see any of them), that in order to get things to work you had 
> > just added
> > 
> > CFLAGS_REMOVE_lockdep.o = -pg
> > CFLAGS_REMOVE_lockdep_proc.o = -pg
> > CFLAGS_REMOVE_mutex-debug.o = -pg
> > CFLAGS_REMOVE_rtmutex-debug.o = -pg
> > CFLAGS_REMOVE_cgroup-debug.o = -pg
> > CFLAGS_REMOVE_sched_clock.o = -pg
> > CFLAGS_REMOVE_sched.o = -mno-spe -pg
> > 
> > all ovr the place, which was part of my argument against this crap in 
> > the first place.
> 
> Really, we traced all these files for ages. I can restore it if it's 
> worthwile - but lockdep totally kills the usability of function 
> traces, it inserts thousands of uninteresting events over and over 
> again.

to prove it, i just applied this patch:

Index: linux/kernel/Makefile
===================================================================
--- linux.orig/kernel/Makefile
+++ linux/kernel/Makefile
@@ -21,7 +21,6 @@ CFLAGS_REMOVE_mutex-debug.o = -pg
 CFLAGS_REMOVE_rtmutex-debug.o = -pg
 CFLAGS_REMOVE_cgroup-debug.o = -pg
 CFLAGS_REMOVE_sched_clock.o = -pg
-CFLAGS_REMOVE_sched.o = -mno-spe -pg
 endif
 
 obj-$(CONFIG_PROFILING) += profile.o

and sched.o was fully traced again. For example schedule() to idle is 38 
function calls:

$ cd /debug/tracing
$ echo ftrace > current_tracer
$ cat trace

# tracer: ftrace
#
#           TASK-PID    CPU#    TIMESTAMP  FUNCTION
#              | |       |          |         |
[...]
             ssh-2734  [001]    52.291772: schedule <-schedule_timeout
             ssh-2734  [001]    52.291772: hrtick_clear <-schedule
             ssh-2734  [001]    52.291774: _spin_lock <-schedule
             ssh-2734  [001]    52.291775: deactivate_task <-schedule
             ssh-2734  [001]    52.291776: dequeue_task <-deactivate_task
             ssh-2734  [001]    52.291777: dequeue_task_fair <-dequeue_task
             ssh-2734  [001]    52.291778: update_curr <-dequeue_task_fair
             ssh-2734  [001]    52.291779: calc_delta_mine <-update_curr
             ssh-2734  [001]    52.291780: hrtick_start_fair <-dequeue_task_fair
             ssh-2734  [001]    52.291782: find_busiest_group <-schedule
             ssh-2734  [001]    52.291783: idle_cpu <-find_busiest_group
             ssh-2734  [001]    52.291784: target_load <-find_busiest_group
             ssh-2734  [001]    52.291785: weighted_cpuload <-target_load
             ssh-2734  [001]    52.291786: weighted_cpuload <-find_busiest_group
             ssh-2734  [001]    52.291787: cpu_avg_load_per_task <-find_busiest_group
             ssh-2734  [001]    52.291788: source_load <-find_busiest_group
             ssh-2734  [001]    52.291789: weighted_cpuload <-source_load
             ssh-2734  [001]    52.291790: weighted_cpuload <-find_busiest_group
             ssh-2734  [001]    52.291791: cpu_avg_load_per_task <-find_busiest_group
             ssh-2734  [001]    52.291792: msecs_to_jiffies <-schedule
             ssh-2734  [001]    52.291792: msecs_to_jiffies <-schedule
             ssh-2734  [001]    52.291793: put_prev_task_fair <-schedule
             ssh-2734  [001]    52.291795: pick_next_task_fair <-schedule
             ssh-2734  [001]    52.291796: pick_next_task_rt <-schedule
             ssh-2734  [001]    52.291796: pick_next_task_fair <-schedule
             ssh-2734  [001]    52.291797: pick_next_task_idle <-schedule
             ssh-2734  [001]    52.291798: _spin_trylock <-tracing_record_cmdline
             ssh-2734  [001]    52.291800: _spin_unlock <-tracing_record_cmdline
             ssh-2734  [001]    52.291802: __switch_to <-thread_return
          <idle>-0     [001]    52.291804: finish_task_switch <-thread_return
          <idle>-0     [001]    52.291805: _spin_unlock_irq <-finish_task_switch
          <idle>-0     [001]    52.291806: tick_nohz_stop_sched_tick <-cpu_idle
          <idle>-0     [001]    52.291807: ktime_get <-tick_nohz_stop_sched_tick
          <idle>-0     [001]    52.291807: ktime_get_ts <-ktime_get
          <idle>-0     [001]    52.291808: getnstimeofday <-ktime_get_ts
          <idle>-0     [001]    52.291808: acpi_pm_read <-getnstimeofday
          <idle>-0     [001]    52.291810: set_normalized_timespec <-ktime_get_ts
          <idle>-0     [001]    52.291811: get_next_timer_interrupt <-tick_nohz_stop_sched_tick

it worked just fine in my first blind attempt.

	Ingo

  parent reply	other threads:[~2008-09-25 21:42 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-24  5:10 [RFC PATCH 0/3] An Unified tracing buffer (attempt) Steven Rostedt
2008-09-24  5:10 ` [RFC PATCH 1/3] Unified trace buffer Steven Rostedt
2008-09-24 15:03   ` Peter Zijlstra
2008-09-24 15:44     ` Steven Rostedt
2008-09-25 10:38       ` Ingo Molnar
2008-09-24 15:47     ` Martin Bligh
2008-09-24 16:11       ` Peter Zijlstra
2008-09-24 16:24         ` Linus Torvalds
2008-09-24 16:37           ` Steven Rostedt
2008-09-24 16:56             ` Martin Bligh
2008-09-24 17:25             ` Linus Torvalds
2008-09-24 18:01           ` Mathieu Desnoyers
2008-09-24 20:49             ` Linus Torvalds
2008-09-24 16:26         ` Steven Rostedt
2008-09-24 16:49         ` Martin Bligh
2008-09-24 17:36           ` Linus Torvalds
2008-09-24 17:49             ` Steven Rostedt
2008-09-24 20:23               ` Linus Torvalds
2008-09-24 20:37                 ` David Miller
2008-09-24 20:48                   ` Steven Rostedt
2008-09-24 20:51                   ` Martin Bligh
2008-09-24 21:24                     ` Frank Ch. Eigler
2008-09-24 21:33                       ` Steven Rostedt
2008-09-24 20:47                 ` Steven Rostedt
2008-09-24 21:03                   ` Martin Bligh
2008-09-24 21:17                     ` Steven Rostedt
2008-09-24 21:51                     ` Steven Rostedt
2008-09-25 10:41                     ` Peter Zijlstra
2008-09-25 14:33                       ` Martin Bligh
2008-09-25 14:53                         ` Peter Zijlstra
2008-09-25 15:05                           ` Linus Torvalds
2008-09-25 15:25                             ` Martin Bligh
2008-09-25 15:36                               ` Ingo Molnar
2008-09-25 16:23                                 ` Mathieu Desnoyers
2008-09-25 16:32                                   ` Steven Rostedt
2008-09-25 17:20                                     ` Mathieu Desnoyers
2008-09-25 17:32                                       ` Steven Rostedt
2008-09-25 16:40                                 ` Linus Torvalds
2008-09-25 16:53                                   ` Steven Rostedt
2008-09-25 17:07                                     ` Linus Torvalds
2008-09-25 19:55                                       ` Ingo Molnar
2008-09-25 20:12                                         ` Ingo Molnar
2008-09-25 20:24                                           ` Linus Torvalds
2008-09-25 20:29                                             ` Linus Torvalds
2008-09-25 20:47                                               ` Steven Rostedt
2008-09-25 21:01                                               ` Steven Rostedt
2008-09-25 21:10                                               ` Ingo Molnar
2008-09-25 21:16                                                 ` Ingo Molnar
2008-09-25 21:41                                                 ` Ingo Molnar [this message]
2008-09-25 21:56                                                   ` Ingo Molnar
2008-09-25 21:58                                                   ` Linus Torvalds
2008-09-25 22:14                                                     ` Ingo Molnar
2008-09-25 23:33                                                       ` Linus Torvalds
2008-09-27 17:16                                                         ` Ingo Molnar
2008-09-27 17:36                                                           ` Ingo Molnar
2008-09-27 17:38                                                           ` Steven Rostedt
2008-09-27 17:50                                                             ` Peter Zijlstra
2008-09-27 18:18                                                               ` Steven Rostedt
2008-09-27 18:42                                                             ` Ingo Molnar
2008-09-25 20:52                                             ` Ingo Molnar
2008-09-25 21:14                                               ` Jeremy Fitzhardinge
2008-09-25 21:15                                               ` Martin Bligh
2008-09-25 20:29                                           ` Mathieu Desnoyers
2008-09-25 20:20                                         ` Ingo Molnar
2008-09-25 21:02                                   ` Jeremy Fitzhardinge
2008-09-25 21:55                                     ` Linus Torvalds
2008-09-25 22:25                                       ` Ingo Molnar
2008-09-25 22:45                                         ` Steven Rostedt
2008-09-25 23:04                                           ` Jeremy Fitzhardinge
2008-09-25 23:25                                             ` Ingo Molnar
2008-09-26 14:04                                           ` Thomas Gleixner
2008-09-25 22:39                                       ` Jeremy Fitzhardinge
2008-09-25 22:55                                         ` Ingo Molnar
2008-09-26  1:17                                           ` Jeremy Fitzhardinge
2008-09-26  1:27                                             ` Steven Rostedt
2008-09-26  1:49                                               ` Jeremy Fitzhardinge
2008-09-25 22:59                                         ` Steven Rostedt
2008-09-26  1:27                                           ` Jeremy Fitzhardinge
2008-09-26  1:35                                             ` Steven Rostedt
2008-09-26  2:07                                               ` Jeremy Fitzhardinge
2008-09-26  2:25                                                 ` Steven Rostedt
2008-09-26  5:31                                                   ` Jeremy Fitzhardinge
2008-09-26 10:41                                                     ` Steven Rostedt
2008-09-25 15:26                             ` Steven Rostedt
2008-09-25 17:22                               ` Linus Torvalds
2008-09-25 17:39                                 ` Steven Rostedt
2008-09-25 18:14                                   ` Linus Torvalds
2008-09-25 15:20                           ` Steven Rostedt
2008-09-24 17:54             ` Martin Bligh
2008-09-24 18:04               ` Martin Bligh
2008-09-24 20:39                 ` Linus Torvalds
2008-09-24 20:56                   ` Martin Bligh
2008-09-24 21:08                     ` Steven Rostedt
2008-09-24 20:30               ` Linus Torvalds
2008-09-24 20:53                 ` Mathieu Desnoyers
2008-09-24 22:28                   ` Linus Torvalds
2008-09-24 22:41                     ` Linus Torvalds
2008-09-25 17:15                     ` Mathieu Desnoyers
2008-09-25 17:29                       ` Linus Torvalds
2008-09-25 17:42                         ` Mathieu Desnoyers
2008-09-25 16:37                 ` Mathieu Desnoyers
2008-09-25 16:49                   ` Linus Torvalds
2008-09-25 17:02                     ` Steven Rostedt
2008-09-24 16:13       ` Mathieu Desnoyers
2008-09-24 16:31         ` Steven Rostedt
2008-09-24 16:39         ` Peter Zijlstra
2008-09-24 16:51           ` Mathieu Desnoyers
2008-09-24  5:10 ` [RFC PATCH 2/3] ftrace: combine some print formating Steven Rostedt
2008-09-24  5:10 ` [RFC PATCH 3/3] ftrace: hack in the ring buffer Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080925214134.GA23025@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@linux-foundation.org \
    --cc=compudj@krystal.dyndns.org \
    --cc=dwilder@us.ibm.com \
    --cc=fche@redhat.com \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@google.com \
    --cc=mbligh@mbligh.org \
    --cc=peterz@infradead.org \
    --cc=prasad@linux.vnet.ibm.com \
    --cc=rostedt@goodmis.org \
    --cc=srostedt@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=zanussi@comcast.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.