kernel-hacking-2024-linux-s.../kernel/trace
Frederic Weisbecker bed1ffca02 tracing/syscalls: core infrastructure for syscalls tracing, enhancements
Impact: new feature

This adds the generic support for syscalls tracing. This is
currently exploited through a devoted tracer but other tracing
engines can use it. (They just have to play with
{start,stop}_ftrace_syscalls() and use the display callbacks
unless they want to override them.)

The syscalls prototypes definitions are abused here to steal
some metadata informations:

- syscall name, param types, param names, number of params

The syscall addr is not directly saved during this definition
because we don't know if its prototype is available in the
namespace. But we don't really need it. The arch has just to
build a function able to resolve the syscall number to its
metadata struct.

The current tracer prints the syscall names, parameters names
and values (and their types optionally). Currently the value is
a raw hex but higher level values diplaying is on my TODO list.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <1236955332-10133-2-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-03-13 16:57:42 +01:00
..
blktrace.c Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace 2009-03-10 22:55:31 +01:00
events.c tracing: use generic __stringify 2009-03-10 00:35:05 -04:00
ftrace.c tracing: fix deadlock when setting set_ftrace_pid 2009-03-06 12:07:38 +01:00
Kconfig tracing/ftrace: syscall tracing infrastructure, basics 2009-03-13 06:25:43 +01:00
kmemtrace.c tracing: Introduce trace_buffer_{lock_reserve,unlock_commit} 2009-02-06 01:01:41 +01:00
Makefile tracing/ftrace: syscall tracing infrastructure, basics 2009-03-13 06:25:43 +01:00
ring_buffer.c tracing: make all file_operations const 2009-03-05 21:46:40 -05:00
trace.c Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace 2009-03-11 20:47:23 +01:00
trace.h tracing/syscalls: core infrastructure for syscalls tracing, enhancements 2009-03-13 16:57:42 +01:00
trace_boot.c tracing: Introduce trace_buffer_{lock_reserve,unlock_commit} 2009-02-06 01:01:41 +01:00
trace_branch.c tracing: remove funky whitespace in the trace code 2009-03-10 14:13:14 -04:00
trace_clock.c trace_clock: fix preemption bug 2009-03-10 20:03:01 +01:00
trace_event_types.h tracing: new format for specialized trace points 2009-03-10 00:35:07 -04:00
trace_events.c tracing: add back the available_events file 2009-03-10 12:04:02 -04:00
trace_events_stage_1.h tracing: update comments to match event code macros 2009-03-10 13:12:58 -04:00
trace_events_stage_2.h tracing: update comments to match event code macros 2009-03-10 13:12:58 -04:00
trace_events_stage_3.h tracing: remove funky whitespace in the trace code 2009-03-10 14:13:14 -04:00
trace_export.c tracing: remove funky whitespace in the trace code 2009-03-10 14:13:14 -04:00
trace_functions.c tracing/core: use appropriate waiting on trace_pipe 2009-02-18 01:40:20 +01:00
trace_functions_graph.c Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace 2009-03-10 22:55:31 +01:00
trace_hw_branches.c tracing/hw-branch-tracing: convert bts-tracer mutex to a spinlock 2009-02-25 09:16:01 +01:00
trace_irqsoff.c tracing: have latency tracers set the latency format 2009-03-04 22:15:30 -05:00
trace_mmiotrace.c tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk() 2009-03-06 17:59:12 +01:00
trace_nop.c trace: Call tracing_reset_online_cpus before tracer->init() 2009-02-06 01:01:41 +01:00
trace_output.c tracing: remove funky whitespace in the trace code 2009-03-10 14:13:14 -04:00
trace_output.h tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk() 2009-03-06 17:59:12 +01:00
trace_power.c tracing: convert c/p state power tracer to use tracepoints 2009-02-13 09:06:18 -05:00
trace_printk.c tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk() 2009-03-06 17:59:12 +01:00
trace_sched_switch.c tracing/core: use appropriate waiting on trace_pipe 2009-02-18 01:40:20 +01:00
trace_sched_wakeup.c tracing: have latency tracers set the latency format 2009-03-04 22:15:30 -05:00
trace_selftest.c tracing: use generic __stringify 2009-03-10 00:35:05 -04:00
trace_selftest_dynamic.c ftrace: fix dynamic ftrace selftest 2008-05-23 21:13:23 +02:00
trace_stack.c trace: better use of stack_trace_enabled for boot up code 2008-12-18 12:56:56 +01:00
trace_stat.c tracing: fix typing mistake in hint message and comments 2009-02-17 12:38:24 -05:00
trace_stat.h tracing/ftrace: separate events tracing and stats tracing engine 2009-01-14 12:11:37 +01:00
trace_syscalls.c tracing/syscalls: core infrastructure for syscalls tracing, enhancements 2009-03-13 16:57:42 +01:00
trace_sysprof.c tracing: make all file_operations const 2009-03-05 21:46:40 -05:00
trace_workqueue.c Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace 2009-03-10 22:55:31 +01:00