Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 146006
b: refs/heads/master
c: ea20d92
h: refs/heads/master
v: v3
  • Loading branch information
Steven Rostedt authored and Steven Rostedt committed Apr 14, 2009
1 parent bd26d9b commit 56f52b5
Show file tree
Hide file tree
Showing 16 changed files with 664 additions and 519 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0a19e53c1514ad8e9c3cbab40c6c3f52c86f403d
refs/heads/master: ea20d9293ce423a39717ed4375393129a2e701f9
9 changes: 8 additions & 1 deletion trunk/include/linux/tracepoint.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ struct tracepoint {
* Keep in sync with vmlinux.lds.h.
*/

#ifndef DECLARE_TRACE

#define TP_PROTO(args...) args
#define TP_ARGS(args...) args

Expand Down Expand Up @@ -114,6 +116,7 @@ static inline void tracepoint_update_probe_range(struct tracepoint *begin,
struct tracepoint *end)
{ }
#endif /* CONFIG_TRACEPOINTS */
#endif /* DECLARE_TRACE */

/*
* Connect a probe to a tracepoint.
Expand Down Expand Up @@ -154,10 +157,13 @@ static inline void tracepoint_synchronize_unregister(void)
}

#define PARAMS(args...) args

#ifndef TRACE_FORMAT
#define TRACE_FORMAT(name, proto, args, fmt) \
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
#endif


#ifndef TRACE_EVENT
/*
* For use with the TRACE_EVENT macro:
*
Expand Down Expand Up @@ -262,5 +268,6 @@ static inline void tracepoint_synchronize_unregister(void)

#define TRACE_EVENT(name, proto, args, struct, assign, print) \
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
#endif

#endif
51 changes: 48 additions & 3 deletions trunk/include/trace/irq.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,54 @@
#ifndef _TRACE_IRQ_H
#if !defined(_TRACE_IRQ_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_IRQ_H

#include <linux/interrupt.h>
#include <linux/tracepoint.h>
#include <linux/interrupt.h>

#undef TRACE_SYSTEM
#define TRACE_SYSTEM irq

/*
* Tracepoint for entry of interrupt handler:
*/
TRACE_FORMAT(irq_handler_entry,
TP_PROTO(int irq, struct irqaction *action),
TP_ARGS(irq, action),
TP_FMT("irq=%d handler=%s", irq, action->name)
);

/*
* Tracepoint for return of an interrupt handler:
*/
TRACE_EVENT(irq_handler_exit,

TP_PROTO(int irq, struct irqaction *action, int ret),

TP_ARGS(irq, action, ret),

TP_STRUCT__entry(
__field( int, irq )
__field( int, ret )
),

TP_fast_assign(
__entry->irq = irq;
__entry->ret = ret;
),

TP_printk("irq=%d return=%s",
__entry->irq, __entry->ret ? "handled" : "unhandled")
);

TRACE_FORMAT(softirq_entry,
TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
TP_ARGS(h, vec),
TP_FMT("softirq=%d action=%s", (int)(h - vec), softirq_to_name[h-vec])
);

#include <trace/irq_event_types.h>
TRACE_FORMAT(softirq_exit,
TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
TP_ARGS(h, vec),
TP_FMT("softirq=%d action=%s", (int)(h - vec), softirq_to_name[h-vec])
);

#endif
55 changes: 0 additions & 55 deletions trunk/include/trace/irq_event_types.h

This file was deleted.

189 changes: 186 additions & 3 deletions trunk/include/trace/kmem.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,192 @@
#ifndef _TRACE_KMEM_H
#if !defined(_TRACE_KMEM_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_KMEM_H

#include <linux/types.h>
#include <linux/tracepoint.h>

#include <trace/kmem_event_types.h>
#undef TRACE_SYSTEM
#define TRACE_SYSTEM kmem

#endif /* _TRACE_KMEM_H */
TRACE_EVENT(kmalloc,

TP_PROTO(unsigned long call_site,
const void *ptr,
size_t bytes_req,
size_t bytes_alloc,
gfp_t gfp_flags),

TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags),

TP_STRUCT__entry(
__field( unsigned long, call_site )
__field( const void *, ptr )
__field( size_t, bytes_req )
__field( size_t, bytes_alloc )
__field( gfp_t, gfp_flags )
),

TP_fast_assign(
__entry->call_site = call_site;
__entry->ptr = ptr;
__entry->bytes_req = bytes_req;
__entry->bytes_alloc = bytes_alloc;
__entry->gfp_flags = gfp_flags;
),

TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%08x",
__entry->call_site,
__entry->ptr,
__entry->bytes_req,
__entry->bytes_alloc,
__entry->gfp_flags)
);

TRACE_EVENT(kmem_cache_alloc,

TP_PROTO(unsigned long call_site,
const void *ptr,
size_t bytes_req,
size_t bytes_alloc,
gfp_t gfp_flags),

TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags),

TP_STRUCT__entry(
__field( unsigned long, call_site )
__field( const void *, ptr )
__field( size_t, bytes_req )
__field( size_t, bytes_alloc )
__field( gfp_t, gfp_flags )
),

TP_fast_assign(
__entry->call_site = call_site;
__entry->ptr = ptr;
__entry->bytes_req = bytes_req;
__entry->bytes_alloc = bytes_alloc;
__entry->gfp_flags = gfp_flags;
),

TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%08x",
__entry->call_site,
__entry->ptr,
__entry->bytes_req,
__entry->bytes_alloc,
__entry->gfp_flags)
);

TRACE_EVENT(kmalloc_node,

TP_PROTO(unsigned long call_site,
const void *ptr,
size_t bytes_req,
size_t bytes_alloc,
gfp_t gfp_flags,
int node),

TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node),

TP_STRUCT__entry(
__field( unsigned long, call_site )
__field( const void *, ptr )
__field( size_t, bytes_req )
__field( size_t, bytes_alloc )
__field( gfp_t, gfp_flags )
__field( int, node )
),

TP_fast_assign(
__entry->call_site = call_site;
__entry->ptr = ptr;
__entry->bytes_req = bytes_req;
__entry->bytes_alloc = bytes_alloc;
__entry->gfp_flags = gfp_flags;
__entry->node = node;
),

TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%08x node=%d",
__entry->call_site,
__entry->ptr,
__entry->bytes_req,
__entry->bytes_alloc,
__entry->gfp_flags,
__entry->node)
);

TRACE_EVENT(kmem_cache_alloc_node,

TP_PROTO(unsigned long call_site,
const void *ptr,
size_t bytes_req,
size_t bytes_alloc,
gfp_t gfp_flags,
int node),

TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node),

TP_STRUCT__entry(
__field( unsigned long, call_site )
__field( const void *, ptr )
__field( size_t, bytes_req )
__field( size_t, bytes_alloc )
__field( gfp_t, gfp_flags )
__field( int, node )
),

TP_fast_assign(
__entry->call_site = call_site;
__entry->ptr = ptr;
__entry->bytes_req = bytes_req;
__entry->bytes_alloc = bytes_alloc;
__entry->gfp_flags = gfp_flags;
__entry->node = node;
),

TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%08x node=%d",
__entry->call_site,
__entry->ptr,
__entry->bytes_req,
__entry->bytes_alloc,
__entry->gfp_flags,
__entry->node)
);

TRACE_EVENT(kfree,

TP_PROTO(unsigned long call_site, const void *ptr),

TP_ARGS(call_site, ptr),

TP_STRUCT__entry(
__field( unsigned long, call_site )
__field( const void *, ptr )
),

TP_fast_assign(
__entry->call_site = call_site;
__entry->ptr = ptr;
),

TP_printk("call_site=%lx ptr=%p", __entry->call_site, __entry->ptr)
);

TRACE_EVENT(kmem_cache_free,

TP_PROTO(unsigned long call_site, const void *ptr),

TP_ARGS(call_site, ptr),

TP_STRUCT__entry(
__field( unsigned long, call_site )
__field( const void *, ptr )
),

TP_fast_assign(
__entry->call_site = call_site;
__entry->ptr = ptr;
),

TP_printk("call_site=%lx ptr=%p", __entry->call_site, __entry->ptr)
);

#endif
Loading

0 comments on commit 56f52b5

Please sign in to comment.