kernel_optimize_test/kernel/trace
Steven Rostedt (VMware) 8b1fac2e73 tracing: Wait for preempt irq delay thread to execute
A bug report was posted that running the preempt irq delay module on a slow
machine, and removing it quickly could lead to the thread created by the
modlue to execute after the module is removed, and this could cause the
kernel to crash. The fix for this was to call kthread_stop() after creating
the thread to make sure it finishes before allowing the module to be
removed.

Now this caused the opposite problem on fast machines. What now happens is
the kthread_stop() can cause the kthread never to execute and the test never
to run. To fix this, add a completion and wait for the kthread to execute,
then wait for it to end.

This issue caused the ftracetest selftests to fail on the preemptirq tests.

Link: https://lore.kernel.org/r/20200510114210.15d9e4af@oasis.local.home

Cc: stable@vger.kernel.org
Fixes: d16a8c3107 ("tracing: Wait for preempt irq delay thread to finish")
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2020-05-11 17:00:34 -04:00
..
blktrace.c blktrace: fix dereference after null check 2020-03-05 13:42:40 -07:00
bpf_trace.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-03-30 19:52:37 -07:00
fgraph.c
ftrace_internal.h
ftrace.c ftrace: Fix memory leak caused by not freeing entry in unregister_ftrace_direct() 2020-04-22 22:04:27 -04:00
Kconfig bootconfig: Fix CONFIG_BOOTTIME_TRACING dependency issue 2020-02-25 19:07:58 -05:00
kprobe_event_gen_test.c tracing: Add kprobe event command generation test module 2020-01-30 09:46:28 -05:00
Makefile tracing: Add kprobe event command generation test module 2020-01-30 09:46:28 -05:00
power-traces.c
preemptirq_delay_test.c tracing: Wait for preempt irq delay thread to execute 2020-05-11 17:00:34 -04:00
ring_buffer_benchmark.c
ring_buffer.c ring-buffer/tracing: Have iterator acknowledge dropped events 2020-03-27 16:39:01 -04:00
rpm-traces.c
synth_event_gen_test.c tracing: Have synthetic event test use raw_smp_processor_id() 2020-02-20 17:43:41 -05:00
trace_benchmark.c
trace_benchmark.h
trace_boot.c tracing/boottime: Fix kprobe event API usage 2020-05-06 09:04:11 -04:00
trace_branch.c
trace_clock.c
trace_dynevent.c tracing: Use seq_buf for building dynevent_cmd string 2020-02-01 13:10:15 -05:00
trace_dynevent.h tracing: Remove check_arg() callbacks from dynevent args 2020-02-01 13:09:23 -05:00
trace_entries.h tracing: Have hwlat ts be first instance and record count of instances 2020-03-03 17:33:43 -05:00
trace_event_perf.c
trace_events_filter_test.h
trace_events_filter.c
trace_events_hist.c tracing: Fix memory leaks in trace_events_hist.c 2020-04-22 21:24:00 -04:00
trace_events_inject.c
trace_events_trigger.c tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation 2020-04-14 22:02:10 -04:00
trace_events.c tracing: Create set_event_notrace_pid to not trace tasks 2020-03-27 16:39:02 -04:00
trace_export.c
trace_functions_graph.c ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance() 2020-03-19 19:11:19 -04:00
trace_functions.c
trace_hwlat.c tracing: Have hwlat ts be first instance and record count of instances 2020-03-03 17:33:43 -05:00
trace_irqsoff.c
trace_kdb.c
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_kprobe.c tracing/kprobes: Reject new event if loc is NULL 2020-05-06 09:04:11 -04:00
trace_mmiotrace.c
trace_nop.c
trace_output.c tracing: Save off entry when peeking at next entry 2020-03-19 17:48:36 -04:00
trace_output.h
trace_preemptirq.c
trace_printk.c
trace_probe_tmpl.h
trace_probe.c tracing/kprobes: Have uname use __get_str() in print_fmt 2020-01-27 10:56:02 -05:00
trace_probe.h tracing/uprobe: Fix to make trace_uprobe_filter alignment safe 2020-01-22 07:09:20 -05:00
trace_sched_switch.c tracing: Fix sched switch start/stop refcount racy updates 2020-01-30 09:46:10 -05:00
trace_sched_wakeup.c
trace_selftest_dynamic.c
trace_selftest.c
trace_seq.c tracing: Remove unused TRACE_SEQ_BUF_USED 2020-01-21 18:39:54 -05:00
trace_stack.c
trace_stat.c tracing: Fix tracing_stat return values in error handling paths 2020-01-24 18:06:48 -05:00
trace_stat.h
trace_syscalls.c Tracing updates: 2020-02-06 07:12:11 +00:00
trace_uprobe.c bpf: disable preemption for bpf progs attached to uprobe 2020-02-24 16:17:14 -08:00
trace.c tracing: Make tracing_snapshot_instance_cond() static 2020-05-07 13:32:58 -04:00
trace.h tracing: Create set_event_notrace_pid to not trace tasks 2020-03-27 16:39:02 -04:00
tracing_map.c tracing: Convert local functions in tracing_map.c to static 2020-04-22 22:07:26 -04:00
tracing_map.h