diff options
author | Steve Capper <steve.capper@linaro.org> | 2014-07-10 14:50:12 +0100 |
---|---|---|
committer | Steve Capper <steve.capper@linaro.org> | 2014-07-14 16:19:03 +0100 |
commit | 384a981d667088ed37fd7e7677c63d7a1113c17f (patch) | |
tree | 4912c3edb0d3cb2a8e35175be6f7e3fa9288a96d /arch/arm64/include/asm/trace/events/string.h | |
parent | 1795cd9b3a91d4b5473c97f491d63892442212ab (diff) | |
download | linux-arm64-memcpy-trace.tar.gz |
arm64: lib: Add static tracepoint for memcpyarm64-memcpy-trace
To better gauge the memcpy usage across the kernel, this patch creates
a static ftrace probe for memcpy taking the src, dest, size and caller
pc.
TODO: this will add a function call overhead, we could inline the new
memcpy, that would need some thought on how to handle the trace point
logic.
Signed-off-by: Steve Capper <steve.capper@linaro.org>
Diffstat (limited to 'arch/arm64/include/asm/trace/events/string.h')
-rw-r--r-- | arch/arm64/include/asm/trace/events/string.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/trace/events/string.h b/arch/arm64/include/asm/trace/events/string.h new file mode 100644 index 00000000000..c3649d20003 --- /dev/null +++ b/arch/arm64/include/asm/trace/events/string.h @@ -0,0 +1,37 @@ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM string + +#if !defined(_TRACE_STRING_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_STRING_H + +#include <linux/tracepoint.h> + +TRACE_EVENT(memcpy, + TP_PROTO(void *dest, const void *src, size_t count, void *location), + + TP_ARGS(dest, src, count, location), + + TP_STRUCT__entry( + __field(void *, dest) + __field(const void *, src) + __field(size_t, count) + __field(void *, location) + ), + + TP_fast_assign( + __entry->dest = dest; + __entry->src = src; + __entry->count = count; + __entry->location = location; + ), + + TP_printk("dest=%p src=%p count=%ld location=%p", + __entry->dest, __entry->src, + __entry->count, __entry->location) +); + +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH asm/trace/events +#endif /*_TRACE_STRING_H */ + +#include <trace/define_trace.h> |