Messages in this thread | | | Subject | Re: RAS trace event proto | From | Steven Rostedt <> | Date | Mon, 20 Feb 2012 20:14:28 -0500 |
| |
On Mon, 2012-02-20 at 15:59 +0100, Borislav Petkov wrote:
> * I'd like to have conditional printk-ing in trace_mce_record depending > on the TP args, Steve probably knows what can be done:
/me is confused :-)
> > @Steven: > > I'd like to do the following: > > TP_printk("%s, ARG1: %d, ARG2: %c ...", str1, arg1, arg2) > > and have it print only the first arg, i.e. the string and drop the rest > of the args while still doing the TP_fast_assign into the ring buffer > and carrying the stuff to its consumers. Background is that I want to > dump the decoded string of a hardware error, if it is decoded, but carry > the MCE info to userspace and only dump the fields of the MCE if I > haven't managed to decode it, i.e. str1 == "". > > So, my question is, can I do something like: > > TP_printk("%s, ARG1: %d, ARG2: %c ...", __print_conditional(str1, arg1, arg2))
You want to affect the output of ftrace?
perf and even trace-cmd do the parsing later and can be overridden. Well, perf can be when we finally get it to use the updated trace-cmd parser.
-- Steve
> > where __print_conditional is a vararg macro which calls a > ftrace_print_cond() which prints only str1 if strlen(str1) > 0 and > otherwise calls a vsnprintf() variant to deal with the va_args? >
| |