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

Guilherme G. Piccoli gpiccoli at igalia.com
Tue Aug 16 13:12:33 PDT 2022


On 16/08/2022 12:52, Steven Rostedt wrote:
> 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

Perfect Steve and Alan, appreciate your suggestions!
I'll submit V3 using your change Steve - honestly, I'm not sure why in
the heck I put a goto there, yours is basically the same code, modulo
the goto heheh

A braino from me, for sure!
Cheers,


Guilherme



More information about the kexec mailing list