Re: RAS trace event proto

From: Steven Rostedt
Date: Mon Feb 20 2012 - 20:14:29 EST


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?
>


--
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/