Impact: clean up Neil Horman (et. al.) criticized the way the trace events were broken up into two files. The reason for that was that ftrace needed to separate out the declarations from where the #include <linux/tracepoint.h> was used. It then dawned on me that the tracepoint.h header only needs to define the TRACE_EVENT macro if it is not already defined. The solution is simply to test if TRACE_EVENT is defined, and if it is not then the linux/tracepoint.h header can define it. This change consolidates all the <traces>.h and <traces>_event_types.h into the <traces>.h file. Reported-by: Neil Horman <nhorman@tuxdriver.com> Reported-by: Theodore Tso <tytso@mit.edu> Reported-by: Jiaying Zhang <jiayingz@google.com> Cc: Zhaolei <zhaolei@cn.fujitsu.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Jason Baron <jbaron@redhat.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
37 lines
732 B
C
37 lines
732 B
C
#if !defined(_TRACE_SKB_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define _TRACE_SKB_H
|
|
|
|
#include <linux/skbuff.h>
|
|
#include <linux/tracepoint.h>
|
|
|
|
#undef TRACE_SYSTEM
|
|
#define TRACE_SYSTEM skb
|
|
|
|
/*
|
|
* Tracepoint for free an sk_buff:
|
|
*/
|
|
TRACE_EVENT(kfree_skb,
|
|
|
|
TP_PROTO(struct sk_buff *skb, void *location),
|
|
|
|
TP_ARGS(skb, location),
|
|
|
|
TP_STRUCT__entry(
|
|
__field( void *, skbaddr )
|
|
__field( unsigned short, protocol )
|
|
__field( void *, location )
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__entry->skbaddr = skb;
|
|
if (skb) {
|
|
__entry->protocol = ntohs(skb->protocol);
|
|
}
|
|
__entry->location = location;
|
|
),
|
|
|
|
TP_printk("skbaddr=%p protocol=%u location=%p",
|
|
__entry->skbaddr, __entry->protocol, __entry->location)
|
|
);
|
|
|
|
#endif /* _TRACE_SKB_H */
|