From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: "Frank Ch. Eigler" <fche@redhat.com>
Cc: Masami Hiramatsu <mhiramat@redhat.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Roland McGrath <roland@redhat.com>, Ingo Molnar <mingo@elte.hu>,
LKML <linux-kernel@vger.kernel.org>,
Lai Jiangshan <laijs@cn.fujitsu.com>,
Steven Rostedt <rostedt@goodmis.org>,
Peter Zijlstra <peterz@infradead.org>,
Jiaying Zhang <jiayingz@google.com>,
Martin Bligh <mbligh@google.com>,
utrace-devel@redhat.com
Subject: Re: [RFC][PATCH 1/2] tracing/ftrace: syscall tracing infrastructure
Date: Mon, 23 Mar 2009 13:03:56 -0400 [thread overview]
Message-ID: <20090323170356.GD24084@Krystal> (raw)
In-Reply-To: <20090323165242.GB18774@redhat.com>
* Frank Ch. Eigler (fche@redhat.com) wrote:
> Hi -
>
> On Mon, Mar 23, 2009 at 12:42:08PM -0400, Mathieu Desnoyers wrote:
> > [...]
>
> (Please trim emails you're responding to.)
>
> > [...]
> > > > So if the system has, say 3000 threads, then we have 3000 struct
> > > > utrace_engine created ? I wonder what effet this could have one
> > > > cachelines if this is used to trace hot paths like system call
> > > > entry/exit. Have you benchmarked this kind of scenario under tbench ?
> > >
> > > It has not been a problem, since utrace_engines are designed to be
> > > lightweight. Starting or stopping a systemtap script of the form
> > >
> > > probe process.syscall {}
> > >
> > > appears to have no noticable impact on a tbench suite.
> >
> > Do you mean starting this script for a single process or for _all_ the
> > processes and threads running on the system ?
>
> The script above usually applies to all threads.
>
Hrm, I already spent more time installing and benchmarking systemtap
than I should, so I don't have time currently to run further systemtap
benchmarks, but I seriously doubt about this. Have you run the following
benchmark ?
Baseline :
vanilla kernel, without utrace
Comparison with :
utrace-enabled kernel, with the syscall probe activated
?
If you are comparing a utrace-enabled kernel with and without the
syscall probes activated, then you are probably missing some performance
impact. Also make sure AUDIT SYSCALL, secure computing and
frame pointers are disabled in your baseline kernel too.
If this is what you did, I would really like to see the numbers.
>
> > > > Looking at utrace_set_events(), we seem to be limited to 32 events on a
> > > > 32-bits architectures because it uses a bitmask ? Isn't it a bit small?
> > >
> > > There are only a few types of thread events that involve different
> > > classes of treatment, or different degrees of freedom in terms of
> > > interference with the uninstrumented fast path of the threads. [...]
> >
> > If we limit ourself to thread-interaction events, I agree that they are
> > limited. But in the system-wide tracing scenario, the criterions for
> > filtering can apply to many more event categories.
>
> If those different criteria have equivalent impact on running threads,
> there is no need to differentiate them at the low (utrace event flag)
> level. Could you offer an example to clarify?
>
>
> > Referring to Roland's reply, I think using utrace to enable
> > system-wide collection of data would just be a waste of
> > resources. Going through a more lightweight system-wide activation
> > seems more appropriate to me. [...]
>
> Perhaps. OTOH it also makes sense to me to use (and improve) one
> general facility, if it can do the right thing almost as fast as a
> wholly separate facility that's specialized for one small purpose.
> The decision would probably rest with a more data-based comparison of
> performance & code size.
>
Sure.
Mathieu
>
> - FChE
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
next prev parent reply other threads:[~2009-03-23 17:04 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-07 4:52 [RFC][PATCH 0/2] Syscalls tracing Frederic Weisbecker
2009-03-07 4:52 ` [RFC][PATCH 1/2] tracing/ftrace: syscall tracing infrastructure Frederic Weisbecker
2009-03-07 7:49 ` Frederic Weisbecker
2009-03-09 13:52 ` Steven Rostedt
2009-03-09 20:47 ` Frederic Weisbecker
2009-03-10 0:52 ` Steven Rostedt
2009-03-10 10:08 ` Frederic Weisbecker
2009-03-08 16:24 ` Ingo Molnar
2009-03-09 20:40 ` Frederic Weisbecker
2009-03-09 13:44 ` Steven Rostedt
2009-03-09 20:42 ` Frederic Weisbecker
2009-03-13 4:27 ` [tip:tracing/syscalls] tracing/ftrace: syscall tracing infrastructure, basics Frederic Weisbecker
2009-03-16 19:36 ` [RFC][PATCH 1/2] tracing/ftrace: syscall tracing infrastructure Masami Hiramatsu
2009-03-16 20:15 ` Frederic Weisbecker
2009-03-16 20:38 ` Masami Hiramatsu
2009-03-16 21:45 ` Mathieu Desnoyers
2009-03-16 22:18 ` Frank Ch. Eigler
2009-03-16 23:46 ` Frederic Weisbecker
2009-03-23 16:42 ` Mathieu Desnoyers
2009-03-23 16:52 ` Frank Ch. Eigler
2009-03-23 17:03 ` Mathieu Desnoyers [this message]
2009-03-17 5:24 ` Oleg Nesterov
2009-03-17 16:00 ` Mathieu Desnoyers
2009-03-19 10:34 ` Roland McGrath
2009-03-23 17:33 ` Mathieu Desnoyers
2009-03-07 4:53 ` [RFC][PATCH 2/2] tracing/x86: basic implementation of syscall tracing for x86-64 Frederic Weisbecker
2009-03-13 4:27 ` [tip:tracing/syscalls] tracing/x86: basic implementation of syscall tracing for x86 Frederic Weisbecker
2009-03-13 16:09 ` [tip:tracing/syscalls] tracing/syscalls: support for syscalls tracing on x86, fix Ingo Molnar
2009-03-13 16:32 ` [RFC][PATCH 2/2] tracing/x86: basic implementation of syscall tracing for x86-64 Mathieu Desnoyers
2009-03-13 16:37 ` Ingo Molnar
2009-03-13 16:50 ` Mathieu Desnoyers
2009-03-15 4:44 ` Ingo Molnar
2009-03-15 15:16 ` Frederic Weisbecker
2009-03-15 19:22 ` Mathieu Desnoyers
2009-03-07 12:15 ` [RFC][PATCH 0/2] Syscalls tracing Peter Zijlstra
2009-03-07 16:02 ` Frederic Weisbecker
2009-03-08 11:24 ` Frederic Weisbecker
2009-03-08 11:28 ` Frederic Weisbecker
2009-03-07 20:26 ` Frank Ch. Eigler
2009-03-07 21:53 ` Frederic Weisbecker
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=20090323170356.GD24084@Krystal \
--to=mathieu.desnoyers@polymtl.ca \
--cc=fche@redhat.com \
--cc=fweisbec@gmail.com \
--cc=jiayingz@google.com \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@google.com \
--cc=mhiramat@redhat.com \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=roland@redhat.com \
--cc=rostedt@goodmis.org \
--cc=utrace-devel@redhat.com \
/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