zhoumin
e5b4ae6f01
ftrace: Add cond_resched() to ftrace_graph_set_hash()
...
commit 42ea22e754ba4f2b86f8760ca27f6f71da2d982c upstream.
When the kernel contains a large number of functions that can be traced,
the loop in ftrace_graph_set_hash() may take a lot of time to execute.
This may trigger the softlockup watchdog.
Add cond_resched() within the loop to allow the kernel to remain
responsive even when processing a large number of functions.
This matches the cond_resched() that is used in other locations of the
code that iterates over all functions that can be traced.
Cc: stable@vger.kernel.org
Fixes: b9b0c831be ("ftrace: Convert graph filter to use hash tables")
Link: https://lore.kernel.org/tencent_3E06CE338692017B5809534B9C5C03DA7705@qq.com
Signed-off-by: zhoumin <teczm@foxmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-05-02 07:39:17 +02:00
..
blktrace.c
bpf_trace.c
bpf: Use preempt_count() directly in bpf_send_signal_common()
2025-04-10 14:29:40 +02:00
fgraph.c
ftrace.c
ftrace: Add cond_resched() to ftrace_graph_set_hash()
2025-05-02 07:39:17 +02:00
ftrace_internal.h
Kconfig
Makefile
power-traces.c
preemptirq_delay_test.c
tracing: Add MODULE_DESCRIPTION() to preemptirq_delay_test
2024-07-05 09:08:25 +02:00
ring_buffer.c
ring-buffer: Fix bytes_dropped calculation issue
2025-04-10 14:29:42 +02:00
ring_buffer_benchmark.c
rpm-traces.c
trace.c
tracing: Have saved_cmdlines arrays all in one allocation
2024-11-08 16:20:43 +01:00
trace.h
trace_benchmark.c
trace_benchmark.h
trace_branch.c
trace_clock.c
tracing: Use atomic64_inc_return() in trace_clock_counter()
2024-12-14 19:44:53 +01:00
trace_dynevent.c
trace_dynevent.h
trace_entries.h
trace_event_perf.c
trace/trace_event_perf: remove duplicate samples on the first tracepoint event
2024-12-14 19:44:28 +01:00
trace_events.c
tracing: fix return value in __ftrace_event_enable_disable for TRACE_REG_UNREGISTER
2025-05-02 07:39:11 +02:00
trace_events_filter.c
trace_events_filter_test.h
trace_events_hist.c
trace_events_trigger.c
Revert "tracing/trigger: Fix to return error if failed to alloc snapshot"
2024-05-02 16:18:30 +02:00
trace_export.c
trace_functions.c
trace_functions_graph.c
tracing: Fix use-after-free in print_graph_function_flags during tracer switching
2025-04-10 14:29:43 +02:00
trace_hwlat.c
trace_irqsoff.c
tracing: Fix use-after-free in print_graph_function_flags during tracer switching
2025-04-10 14:29:43 +02:00
trace_kdb.c
trace_kprobe.c
tracing/kprobe: Make trace_kprobe's module callback called after jump_label update
2025-01-09 13:23:31 +01:00
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_mmiotrace.c
trace_nop.c
trace_output.c
tracing: Remove precision vsnprintf() check from print event
2024-11-08 16:20:43 +01:00
trace_output.h
trace_preemptirq.c
trace_printk.c
trace_probe.c
tracing: Consider the NULL character when validating the event length
2024-11-08 16:20:51 +01:00
trace_probe.h
tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols
2024-11-08 16:20:47 +01:00
trace_probe_tmpl.h
trace_sched_switch.c
trace_sched_wakeup.c
tracing: Fix use-after-free in print_graph_function_flags during tracer switching
2025-04-10 14:29:43 +02:00
trace_selftest.c
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c
trace_stat.c
trace_stat.h
trace_syscalls.c
trace_uprobe.c
tracing_map.c
tracing: Fix cmp_entries_dup() to respect sort() comparison rules
2024-12-14 19:44:48 +01:00
tracing_map.h