[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090618022102.GA8095@nowhere>
Date: Thu, 18 Jun 2009 04:21:05 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: Jason Baron <jbaron@...hat.com>, linux-kernel@...r.kernel.org,
laijs@...fujitsu.com, rostedt@...dmis.org, peterz@...radead.org,
mathieu.desnoyers@...ymtl.ca, jiayingz@...gle.com,
bligh@...gle.com, roland@...hat.com, fche@...hat.com
Subject: Re: [PATCH 0/7] add syscall tracepoints
On Tue, Jun 16, 2009 at 09:32:20PM +0200, Ingo Molnar wrote:
>
> * Jason Baron <jbaron@...hat.com> wrote:
>
> > hi,
> >
> > The following is an implementation of Frederic's syscall tracer on
> > top of tracepoints. It adds the ability to toggle the entry/exit
> > of each syscall via the standard
> > events/syscalls/syscall_blah/enable interface. The implementation
> > is done by adding 2 tracepoints. One on entry and one for exit.
> >
> > This implementation required a few 'core' api changes. I've added
> > 'DECLARE_TRACE_REG()' macro which takes a register and and an
> > unregister function as arguments. This allowed me to toggle the
> > ftrace tif flag when the first tracepoint callback is added and
> > the last is removed. Current callers of 'DECLARE_TRACE()' are not
> > impacted.
> >
> > Another change was to call arch_init_ftrace_syscalls via an
> > 'arch_initall'. In this implmentation I needed to access the
> > syscalls_metadata structure at runtime in order to determine which
> > syscalls were 'traceable'. Although the implementation uses
> > SYSCALL_DEFINE() to set up the the trace events, for some reason
> > at runtime there is no syscalls_metadata, associated with some of
> > the SYSCALL_DEFINE() calls. I'm not quite sure why that is.
> > However, by calling arch_init_ftrace_syscalls() at boot I can make
> > sure the lists are in sync.
> >
> > thanks,
> >
> > -Jason
> >
> >
> > arch/x86/include/asm/ftrace.h | 4 +-
> > arch/x86/kernel/ftrace.c | 24 +++++-
> > arch/x86/kernel/ptrace.c | 6 +-
> > include/linux/syscalls.h | 63 +++++++++++++++
> > include/linux/tracepoint.h | 27 ++++++-
> > include/trace/syscall.h | 37 +++++++---
> > kernel/trace/trace_events.c | 29 +++++---
> > kernel/trace/trace_syscalls.c | 172 +++++++++++++++++++----------------------
> > kernel/tracepoint.c | 38 +++++++++
> > 9 files changed, 278 insertions(+), 122 deletions(-)
>
> This looks far nicer structurally. Steve, Frederic, what's your take
> on this series?
>
> Ingo
Sorry, I hadn't a lot of time recently to review it but I'll
have some time to do it soon.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists