Messages in this thread Patch in this message |  | | Subject | Re: [PATCHv8 0/8] ftrace, perf: Adding support to use function trace | | From | Steven Rostedt <> | | Date | Mon, 13 Feb 2012 13:02:48 -0500 |
| |
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; }
|  |