Re: [PATCH v4 2/2] tracing: Drain deferred trigger frees if kthread creation fails
From: Wesley Atwell
Date: Fri Mar 27 2026 - 18:47:48 EST
Yes,
This kernel command line reliably reaches trigger_data_free() during boot:
trace_event=sched:sched_switch
trace_trigger=sched_switch.traceon,sched_switch.traceon
On an unpatched tree, that crashes during early boot before userspace.
The call trace goes through:
trigger_data_free()
__kthread_create_on_node()
try_to_wake_up()
The stack also shows the boot-time trigger registration path:
event_trigger_parse()
trigger_process_regex()
__trace_early_add_events()
With v4 applied, the same command line boots successfully. The guest log shows:
Failed to register trigger 'traceon' on event sched_switch
And /sys/kernel/tracing/events/sched/sched_switch/trigger contains:
traceon:unlimited
I also verified patch 1 with repeated trace_trigger= parameters:
before the patch, only the last parameter was preserved; after the
patch, both triggers were installed.
Thanks,
Wesley Atwell