Re: [PATCHv8 0/8] ftrace, perf: Adding support to use function trace

From: Steven Rostedt
Date: Mon Feb 13 2012 - 13:03:03 EST


On Tue, 2012-02-07 at 20:44 +0100, Jiri Olsa wrote:
> hi,
> here's another version of perf support for function trace
> with filter.
>
> attached patches:
> - 1/8 ftrace: Change filter/notrace set functions to return exit code
> - 2/8 ftrace: Add enable/disable ftrace_ops control interface
> - 3/8 ftrace, perf: Add open/close tracepoint perf registration actions
> - 4/8 ftrace, perf: Add add/del tracepoint perf registration actions
> - 5/8 ftrace: Add FTRACE_ENTRY_REG macro to allow event registration
> - 6/8 ftrace, perf: Add support to use function tracepoint in perf
> - 7/8 ftrace: Allow to specify filter field type for ftrace events
> - 8/8 ftrace, perf: Add filter support for function trace event

OK, these break on a lot of configs.

Make sure they build with the following before sending another series.
I'll give you some of the fixes I added already.

Please test: allnoconfig, allmodconfig

http://rostedt.homelinux.com/private/configs/config-ftrace-patchcheck
http://rostedt.homelinux.com/private/configs/config-ftrace-static-patchcheck
http://rostedt.homelinux.com/private/configs/config-nofunc-patchcheck
http://rostedt.homelinux.com/private/configs/config-notrace-patchcheck

Thanks!

-- Steve

Note, These need to be defines and not static inlines, because
ftrace_ops is not defined in some cases.


diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 76f6c49..d984c08 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -381,9 +381,6 @@ extern void ftrace_enable_daemon(void);
#else
static inline int skip_trace(unsigned long ip) { return 0; }
static inline int ftrace_force_update(void) { return 0; }
-static inline void ftrace_set_filter(unsigned char *buf, int len, int reset)
-{
-}
static inline void ftrace_disable_daemon(void) { }
static inline void ftrace_enable_daemon(void) { }
static inline void ftrace_release_mod(struct module *mod) {}
@@ -407,6 +404,9 @@ static inline int ftrace_text_reserved(void *start, void *end)
*/
#define ftrace_regex_open(ops, flag, inod, file) ({ -ENODEV; })
#define ftrace_set_early_filter(ops, buf, enable) do { } while (0)
+#define ftrace_free_filter(ops) do { } while (0)
+#define ftrace_set_filter(ops, buf, len, reset) ({ -ENODEV; })
+#define ftrace_set_notrace(ops, buf, len, reset) ({ -ENODEV; })

static inline ssize_t ftrace_filter_write(struct file *file, const char __user *ubuf,
size_t cnt, loff_t *ppos) { return -ENODEV; }



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/