All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Baron <jbaron@redhat.com>
To: Josh Stone <jistone@redhat.com>
Cc: linux-kernel@vger.kernel.org, fweisbec@gmail.com, mingo@elte.hu,
	laijs@cn.fujitsu.com, rostedt@goodmis.org, peterz@infradead.org,
	mathieu.desnoyers@polymtl.ca, jiayingz@google.com,
	mbligh@google.com, lizf@cn.fujitsu.com
Subject: Re: [PATCH v2 2/2] tracing: Create generic syscall TRACE_EVENTs
Date: Fri, 21 Aug 2009 13:57:38 -0400	[thread overview]
Message-ID: <20090821175737.GB2684@redhat.com> (raw)
In-Reply-To: <1250795373-32363-2-git-send-email-jistone@redhat.com>

On Thu, Aug 20, 2009 at 12:09:33PM -0700, Josh Stone wrote:
> This converts the syscall_enter/exit tracepoints into TRACE_EVENTs, so
> you can have generic ftrace events that capture all system calls with
> arguments and return values.  These generic events are also renamed to
> sys_enter/exit, so they're more closely aligned to the specific
> sys_enter_foo events.
> 
> Signed-off-by: Josh Stone <jistone@redhat.com>
> Cc: Jason Baron <jbaron@redhat.com>
> ---
>  arch/s390/kernel/ptrace.c       |    8 ++--
>  arch/x86/kernel/ptrace.c        |   12 +++----
>  include/trace/events/syscalls.h |   66 +++++++++++++++++++++++++++++++++++++++
>  include/trace/syscall.h         |   13 --------
>  kernel/trace/trace_syscalls.c   |   17 +++++-----
>  5 files changed, 84 insertions(+), 32 deletions(-)
>  create mode 100644 include/trace/events/syscalls.h
> 
> diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
> index 26194b0..8e578a9 100644
> --- a/arch/s390/kernel/ptrace.c
> +++ b/arch/s390/kernel/ptrace.c
> @@ -51,8 +51,8 @@
>  #include "compat_ptrace.h"
>  #endif
>  
> -DEFINE_TRACE_WITH_CALLBACK(syscall_enter, syscall_regfunc, syscall_unregfunc);
> -DEFINE_TRACE_WITH_CALLBACK(syscall_exit, syscall_regfunc, syscall_unregfunc);
> +#define CREATE_TRACE_POINTS
> +#include <trace/events/syscalls.h>
>  
>  enum s390_regset {
>  	REGSET_GENERAL,
> @@ -665,7 +665,7 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
>  	}
>  
>  	if (unlikely(test_thread_flag(TIF_SYSCALL_FTRACE)))
> -		trace_syscall_enter(regs, regs->gprs[2]);
> +		trace_sys_enter(regs, regs->gprs[2]);
>  
>  	if (unlikely(current->audit_context))
>  		audit_syscall_entry(is_compat_task() ?
> @@ -683,7 +683,7 @@ asmlinkage void do_syscall_trace_exit(struct pt_regs *regs)
>  				   regs->gprs[2]);
>  
>  	if (unlikely(test_thread_flag(TIF_SYSCALL_FTRACE)))
> -		trace_syscall_exit(regs, regs->gprs[2]);
> +		trace_sys_exit(regs, regs->gprs[2]);
>  
>  	if (test_thread_flag(TIF_SYSCALL_TRACE))
>  		tracehook_report_syscall_exit(regs, 0);
> diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
> index 692fc14..dc87a04 100644
> --- a/arch/x86/kernel/ptrace.c
> +++ b/arch/x86/kernel/ptrace.c
> @@ -35,13 +35,11 @@
>  #include <asm/proto.h>
>  #include <asm/ds.h>
>  
> -#include <trace/syscall.h>
> -
> -DEFINE_TRACE_WITH_CALLBACK(syscall_enter, syscall_regfunc, syscall_unregfunc);
> -DEFINE_TRACE_WITH_CALLBACK(syscall_exit, syscall_regfunc, syscall_unregfunc);
> -
>  #include "tls.h"
>  
> +#define CREATE_TRACE_POINTS
> +#include <trace/events/syscalls.h>
> +
>  enum x86_regset {
>  	REGSET_GENERAL,
>  	REGSET_FP,
> @@ -1501,7 +1499,7 @@ asmregparm long syscall_trace_enter(struct pt_regs *regs)
>  		ret = -1L;
>  
>  	if (unlikely(test_thread_flag(TIF_SYSCALL_FTRACE)))
> -		trace_syscall_enter(regs, regs->orig_ax);
> +		trace_sys_enter(regs, regs->orig_ax);
>  
>  	if (unlikely(current->audit_context)) {
>  		if (IS_IA32)
> @@ -1527,7 +1525,7 @@ asmregparm void syscall_trace_leave(struct pt_regs *regs)
>  		audit_syscall_exit(AUDITSC_RESULT(regs->ax), regs->ax);
>  
>  	if (unlikely(test_thread_flag(TIF_SYSCALL_FTRACE)))
> -		trace_syscall_exit(regs, regs->ax);
> +		trace_sys_exit(regs, regs->ax);
>  
>  	if (test_thread_flag(TIF_SYSCALL_TRACE))
>  		tracehook_report_syscall_exit(regs, 0);
> diff --git a/include/trace/events/syscalls.h b/include/trace/events/syscalls.h
> new file mode 100644
> index 0000000..9cd78fc
> --- /dev/null
> +++ b/include/trace/events/syscalls.h
> @@ -0,0 +1,66 @@
> +#undef TRACE_SYSTEM
> +#define TRACE_SYSTEM syscalls
> +
> +#if !defined(_TRACE_EVENTS_SYSCALLS_H) || defined(TRACE_HEADER_MULTI_READ)
> +#define _TRACE_EVENTS_SYSCALLS_H
> +
> +#include <linux/tracepoint.h>
> +
> +#include <asm/ptrace.h>
> +#include <asm/syscall.h>
> +
> +extern void syscall_regfunc(void);
> +extern void syscall_unregfunc(void);
> +
> +
> +TRACE_EVENT_WITH_CALLBACK(sys_enter,

don't we want to change this to something like 'sys_enter_generic'?
otherwise, looks good.

thanks,

-Jason


  reply	other threads:[~2009-08-21 17:58 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-18  7:23 [PATCH] tracing: Move tracepoint callbacks into DEFINE Josh Stone
2009-08-18 14:19 ` Jason Baron
2009-08-18 22:11   ` Josh Stone
2009-08-18 22:25 ` [PATCH] tracing: Create generic syscall TRACE_EVENTs Josh Stone
2009-08-19  1:32   ` Li Zefan
2009-08-19  3:05     ` Josh Stone
2009-08-19 13:05       ` Ingo Molnar
2009-08-19 13:50         ` Mathieu Desnoyers
2009-08-19 16:16   ` Jason Baron
2009-08-19 17:43     ` Frederic Weisbecker
2009-08-19 16:13 ` [PATCH] tracing: Move tracepoint callbacks into DEFINE Jason Baron
2009-08-20 17:25   ` Josh Stone
2009-08-20 19:09 ` [PATCH v2 1/2] " Josh Stone
2009-08-20 19:09   ` [PATCH v2 2/2] tracing: Create generic syscall TRACE_EVENTs Josh Stone
2009-08-21 17:57     ` Jason Baron [this message]
2009-08-21 19:37       ` Josh Stone
2009-08-21 20:08         ` Jason Baron
2009-08-21 14:47   ` [PATCH v2 1/2] tracing: Move tracepoint callbacks into DEFINE Ingo Molnar
2009-08-21 19:34     ` Josh Stone
2009-08-21 17:52   ` Jason Baron
2009-08-21 19:34     ` Josh Stone
2009-08-21 20:06       ` Jason Baron
2009-08-23 20:29         ` Frederic Weisbecker
2009-08-23 20:15       ` Frederic Weisbecker
2009-08-22  4:58   ` [PATCH v3 0/4] tracing: tweaks for generic syscall events Josh Stone
2009-08-22  4:58     ` [PATCH v3 1/4] tracing: Rename TIF_SYSCALL_FTRACE->_TRACEPOINT Josh Stone
2009-08-22  4:58       ` [PATCH v3 2/4] tracing: Make syscall_(un)regfunc arch-specific Josh Stone
2009-08-22  4:58         ` [PATCH v3 3/4] tracing: Move tracepoint callbacks into DEFINE Josh Stone
2009-08-22  4:58           ` [PATCH v3 4/4] tracing: Create generic syscall TRACE_EVENTs Josh Stone
2009-08-23 21:14         ` [PATCH v3 2/4] tracing: Make syscall_(un)regfunc arch-specific Frederic Weisbecker
2009-08-24  1:40           ` Paul Mundt
2009-08-24  8:41             ` Ingo Molnar
2009-08-24  8:59               ` Paul Mundt
2009-08-24  9:56                 ` Ingo Molnar
2009-08-24 10:32                   ` Paul Mundt
2009-08-24 11:00                     ` Ingo Molnar
2009-08-24 11:15                       ` Paul Mundt
2009-08-24 11:32                         ` Ingo Molnar
2009-08-24 11:52                     ` Ingo Molnar
2009-08-24 12:14                       ` Peter Zijlstra
2009-08-24 11:01                   ` Ingo Molnar
2009-08-24 11:02                     ` Paul Mundt
2009-08-24 19:31           ` Josh Stone
2009-08-24 19:58             ` Frederic Weisbecker
2009-08-24 20:00               ` Josh Stone
2009-08-24 20:12                 ` Frederic Weisbecker
2009-08-23 21:16       ` [PATCH v3 1/4] tracing: Rename TIF_SYSCALL_FTRACE->_TRACEPOINT Frederic Weisbecker
2009-08-24  8:42         ` Ingo Molnar
2009-08-24 11:11           ` Frederic Weisbecker
2009-08-24 11:24             ` Ingo Molnar
2009-08-24 11:29               ` Paul Mundt
2009-08-24 11:36                 ` Ingo Molnar
2009-08-24 21:43     ` [PATCH v4 0/4] tracing: tweaks for generic syscall events Josh Stone
2009-08-24 21:43       ` [PATCH v4 1/4] tracing: Rename FTRACE_SYSCALLS for tracepoints Josh Stone
2009-08-24 21:43         ` [PATCH v4 2/4] tracing: Make syscall tracepoints conditional Josh Stone
2009-08-24 21:43           ` [PATCH v4 3/4] tracing: Move tracepoint callbacks into DEFINE Josh Stone
2009-08-24 21:43             ` [PATCH v4 4/4] tracing: Create generic syscall TRACE_EVENTs Josh Stone
2009-08-26  7:22               ` [tip:tracing/core] " tip-bot for Josh Stone
2009-08-26  7:22             ` [tip:tracing/core] tracing: Move tracepoint callbacks from declaration to definition tip-bot for Josh Stone
2009-08-27 22:50               ` [PATCH] tracing: Fix double CPP substitution in TRACE_EVENT_FN Frederic Weisbecker
2009-08-28  0:38                 ` Josh Stone
2009-08-28 12:29                 ` [tip:tracing/core] " tip-bot for Frederic Weisbecker
2009-08-26  7:21           ` [tip:tracing/core] tracing: Make syscall tracepoints conditional tip-bot for Josh Stone
2009-08-26  7:21         ` [tip:tracing/core] tracing: Rename FTRACE_SYSCALLS for tracepoints tip-bot for Josh Stone
2009-08-24 23:05       ` [PATCH v4 0/4] tracing: tweaks for generic syscall events Frederic Weisbecker
2009-08-25 10:28         ` Ingo Molnar
2009-08-25 13:42           ` Frederic Weisbecker
2009-08-25 14:41             ` Jason Baron
2009-08-25 21:08               ` Frederic Weisbecker
2009-08-25 21:44       ` 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=20090821175737.GB2684@redhat.com \
    --to=jbaron@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=jiayingz@google.com \
    --cc=jistone@redhat.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mbligh@google.com \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.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 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.