[PATCH v2 08/13] tracing: Improve panic/die notifiers

Steven Rostedt rostedt at goodmis.org
Tue Aug 16 08:52:49 PDT 2022


On Tue, 16 Aug 2022 10:57:20 -0400
Alan Stern <stern at rowland.harvard.edu> wrote:

> > static int trace_die_panic_handler(struct notifier_block *self,
> > 				unsigned long ev, void *unused)
> > {
> > 	if (!ftrace_dump_on_oops)
> > 		return NOTIFY_DONE;
> > 
> > 	/* The die notifier requires DIE_OOPS to trigger */
> > 	if (self == &trace_die_notifier && ev != DIE_OOPS)
> > 		return NOTIFY_DONE;
> > 
> > 	ftrace_dump(ftrace_dump_on_oops);
> > 
> > 	return NOTIFY_DONE;
> > }  
> 
> Or better yet:
> 
> 	if (ftrace_dump_on_oops) {
> 
> 		/* The die notifier requires DIE_OOPS to trigger */
> 		if (self != &trace_die_notifier || ev == DIE_OOPS)
> 			ftrace_dump(ftrace_dump_on_oops);
> 	}
> 	return NOTIFY_DONE;
> 

That may be more consolidated but less easy to read and follow. This is far
from a fast path.

As I maintain this bike-shed, I prefer the one I suggested ;-)

-- Steve



More information about the kexec mailing list