public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Greg KH <greg@kroah.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	devel@driverdev.osuosl.org, lttng-dev@lists.lttng.org,
	Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, Darren Hart <darren@dvhart.com>
Subject: Re: [PATCH 09/11] sched: export task_prio to GPL modules
Date: Thu, 1 Dec 2011 18:47:15 -0500	[thread overview]
Message-ID: <20111201234715.GA12909@Krystal> (raw)
In-Reply-To: <20111201231831.GB4961@kroah.com>

* Greg KH (greg@kroah.com) wrote:
> On Fri, Dec 02, 2011 at 12:06:37AM +0100, Peter Zijlstra wrote:
> > On Thu, 2011-12-01 at 17:15 -0500, Mathieu Desnoyers wrote:
> > > 
> > > If you don't want to trace sched_switch, but just conveniently prepend
> > > this information to all your events 
> > 
> > Oh so you want to debug a scheduler issue but don't want to use the
> > scheduler tracepoint, I guess that makes perfect sense for clueless
> > people.
> 
> Matheiu, can't lttng use the scheduler tracepoint for this information?

LTTng allows user to choose between both methods, each one being suited
to a particular use of the tracer:

A) Extraction through the scheduler tracepoint:

   LTTng viewers have a full-fledged current state reconstruction of the
   traced OS (for any point in time during the trace) performed as one
   of the bottom layers of our trace analysis tools. This makes sense
   for use-cases where the data needs to be transported, and/or stored,
   and where the amount of data throughput needs to be minimized. We use
   this technique a lot, of course. This state-tracking requires
   CPU/memory resource usage by the viewer.

B) Extraction through "optional" event context information:

   We have, in development, a new "enhanced top" called lttngtop that
   uses tracing information, directly read from mmap'd buffers, to
   provide second-by-second profile information of the system. It is
   not as sensitive to data compactness as the transport/disk storage
   use-case, mainly because no data copy is ever required -- the buffers
   simply get overwritten after lttngtop has finished aggregating the
   information. This has less performance overhead that the big hammer
   "top" that periodically reads all files in /proc, and can provide
   much more detailed profiles.

   This use-case favors sending additional data from kernel to
   user-space rather than recomputing the OS state within lttngtop, due
   to the very low overhead of direct mmap data transport, over
   recomputing state needlessly.

We could very well "cheat" and use a scheduler tracepoint to keep a
duplicate of the current priority value for each CPU within the tracer
kernel module. Let me know if you want me to do this.

Also, as a matter of fact, the "prio" information exported from the
sched_switch event in mainline trace events does not match the prio
shown in /proc stat files. The "MAX_RT_PRIO" offset is missing.

Thanks,

Mathieu


-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

  reply	other threads:[~2011-12-01 23:47 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1322775683-8741-1-git-send-email-mathieu.desnoyers@efficios.com>
2011-12-01 21:41 ` [PATCH 01/11] mm: export vmalloc_sync_all symbol to GPL modules Mathieu Desnoyers
2011-12-01 21:57   ` Christoph Hellwig
2011-12-01 22:13     ` Greg KH
2011-12-01 22:19       ` Mathieu Desnoyers
2011-12-01 22:41         ` Greg KH
2011-12-01 22:28       ` Christoph Hellwig
2011-12-01 23:00         ` Greg KH
2011-12-01 21:41 ` [PATCH 03/11] fs/splice: export splice_to_pipe " Mathieu Desnoyers
2011-12-02  7:19   ` Jens Axboe
2011-12-02 12:32     ` Mathieu Desnoyers
2011-12-01 21:41 ` [PATCH 09/11] sched: export task_prio " Mathieu Desnoyers
2011-12-01 21:56   ` Peter Zijlstra
2011-12-01 22:04     ` Mathieu Desnoyers
2011-12-01 22:10       ` Peter Zijlstra
2011-12-01 22:15         ` Mathieu Desnoyers
2011-12-01 22:36           ` Mathieu Desnoyers
2011-12-01 23:05             ` Peter Zijlstra
2011-12-02 13:51               ` Mathieu Desnoyers
2011-12-01 23:06           ` Peter Zijlstra
2011-12-01 23:18             ` Greg KH
2011-12-01 23:47               ` Mathieu Desnoyers [this message]
2011-12-01 22:14     ` Greg KH
2011-12-01 22:20       ` Mathieu Desnoyers
2011-12-01 23:07       ` Peter Zijlstra
2011-12-01 23:17         ` Greg KH
2011-12-05 14:17           ` Ingo Molnar
2011-12-06 21:44             ` Greg KH
2011-12-08  5:23               ` Ingo Molnar
2011-12-08 23:27                 ` Greg KH
2011-12-19 10:49                   ` Ingo Molnar
2011-12-19 15:30                     ` [lttng-dev] " Mathieu Desnoyers
2011-12-20 11:08                       ` Ingo Molnar
2011-12-20 21:46                         ` Frank Rowand
2011-12-23 10:51                           ` Ingo Molnar
2011-12-21 18:47                         ` Aaron Spear
2011-12-21 18:58                           ` Christoph Hellwig
2011-12-23 16:46                         ` Perf ABI (was: Re: [lttng-dev] [PATCH 09/11] sched: export task_prio to GPL modules) Mathieu Desnoyers
2011-12-23 17:21                           ` Ted Ts'o
2011-12-23 18:16                             ` Mathieu Desnoyers
2011-12-25 17:46                               ` Ted Ts'o
2012-01-12 14:09                                 ` Mathieu Desnoyers
2012-01-12 14:54                                   ` Steven Rostedt
2012-01-12 15:39                                     ` [lttng-dev] Perf ABI (was: " Mathieu Desnoyers
2012-01-12 15:53                                       ` Steven Rostedt
2012-01-12 15:59                                         ` Steven Rostedt
2012-01-12 16:27                                         ` Mathieu Desnoyers
2012-01-12 16:34                                           ` Steven Rostedt
2012-01-12 20:00                                       ` Greg KH
2012-01-16  8:55                                         ` Ingo Molnar
2011-12-07 22:57             ` [PATCH 09/11] sched: export task_prio to GPL modules Mathieu Desnoyers
2011-12-08  5:40               ` Ingo Molnar

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=20111201234715.GA12909@Krystal \
    --to=mathieu.desnoyers@efficios.com \
    --cc=darren@dvhart.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lttng-dev@lists.lttng.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox