Re: [PATCH] tracing: add trace event for memory-failure

From: Steven Rostedt
Date: Fri Mar 13 2015 - 15:32:21 EST


On Fri, 13 Mar 2015 09:37:34 -0700
Tony Luck <tony.luck@xxxxxxxxx> wrote:


> > int sysctl_memory_failure_early_kill __read_mostly = 0;
> >
> > @@ -837,6 +838,8 @@ static struct page_state {
> > */
> > static void action_result(unsigned long pfn, char *msg, int result)
> > {
> > + trace_memory_failure_event(pfn, msg, action_name[result]);
> > +
> > pr_err("MCE %#lx: %s page recovery: %s\n",
> > pfn, msg, action_name[result]);
> > }
> > --
> > 1.7.1
> >
> > --
>
> Concept looks good to me. Adding Steven Rostedt as we've historically had
> challenges adding new trace points in the cleanest way.

Hehe, thank you :-) I actually do have a recommendation. How about just
passing in "result" and doing:


TP_printk("pfn %#lx: %s page recovery: %s",
__entry->pfn,
__get_str(action),
__print_symbolic(result, 0, "Ignored",
1, "Failed",
2, "Delayed",
3, "Recovered"))


Now it is hard coded here because trace-cmd and perf do not have a way
to process enums (yet, I need to fix that).

I also need a way to just submit print strings on module load and boot
up such that you only need to pass in the address of the action field
instead of the string. That is also a todo of mine that I may soon
change.

-- Steve


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