7e066fb870
Impact: API *CHANGE*. Must update all tracepoint users. Add DEFINE_TRACE() to tracepoints to let them declare the tracepoint structure in a single spot for all the kernel. It helps reducing memory consumption, especially when declaring a lot of tracepoints, e.g. for kmalloc tracing. *API CHANGE WARNING*: now, DECLARE_TRACE() must be used in headers for tracepoint declarations rather than DEFINE_TRACE(). This is the sane way to do it. The name previously used was misleading. Updates scheduler instrumentation to follow this API change. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Signed-off-by: Ingo Molnar <mingo@elte.hu>
56 lines
1.3 KiB
C
56 lines
1.3 KiB
C
#ifndef _TRACE_SCHED_H
|
|
#define _TRACE_SCHED_H
|
|
|
|
#include <linux/sched.h>
|
|
#include <linux/tracepoint.h>
|
|
|
|
DECLARE_TRACE(sched_kthread_stop,
|
|
TPPROTO(struct task_struct *t),
|
|
TPARGS(t));
|
|
|
|
DECLARE_TRACE(sched_kthread_stop_ret,
|
|
TPPROTO(int ret),
|
|
TPARGS(ret));
|
|
|
|
DECLARE_TRACE(sched_wait_task,
|
|
TPPROTO(struct rq *rq, struct task_struct *p),
|
|
TPARGS(rq, p));
|
|
|
|
DECLARE_TRACE(sched_wakeup,
|
|
TPPROTO(struct rq *rq, struct task_struct *p),
|
|
TPARGS(rq, p));
|
|
|
|
DECLARE_TRACE(sched_wakeup_new,
|
|
TPPROTO(struct rq *rq, struct task_struct *p),
|
|
TPARGS(rq, p));
|
|
|
|
DECLARE_TRACE(sched_switch,
|
|
TPPROTO(struct rq *rq, struct task_struct *prev,
|
|
struct task_struct *next),
|
|
TPARGS(rq, prev, next));
|
|
|
|
DECLARE_TRACE(sched_migrate_task,
|
|
TPPROTO(struct rq *rq, struct task_struct *p, int dest_cpu),
|
|
TPARGS(rq, p, dest_cpu));
|
|
|
|
DECLARE_TRACE(sched_process_free,
|
|
TPPROTO(struct task_struct *p),
|
|
TPARGS(p));
|
|
|
|
DECLARE_TRACE(sched_process_exit,
|
|
TPPROTO(struct task_struct *p),
|
|
TPARGS(p));
|
|
|
|
DECLARE_TRACE(sched_process_wait,
|
|
TPPROTO(struct pid *pid),
|
|
TPARGS(pid));
|
|
|
|
DECLARE_TRACE(sched_process_fork,
|
|
TPPROTO(struct task_struct *parent, struct task_struct *child),
|
|
TPARGS(parent, child));
|
|
|
|
DECLARE_TRACE(sched_signal_send,
|
|
TPPROTO(int sig, struct task_struct *p),
|
|
TPARGS(sig, p));
|
|
|
|
#endif
|