Vaibhav Nagarnaik
83f365554e
ring-buffer: Allow for rescheduling when removing pages
...
When reducing ring buffer size, pages are removed by scheduling a work
item on each CPU for the corresponding CPU ring buffer. After the pages
are removed from ring buffer linked list, the pages are free()d in a
tight loop. The loop does not give up CPU until all pages are removed.
In a worst case behavior, when lot of pages are to be freed, it can
cause system stall.
After the pages are removed from the list, the free() can happen while
the work is rescheduled. Call cond_resched() in the loop to prevent the
system hangup.
Link: http://lkml.kernel.org/r/20180907223129.71994-1-vnagarnaik@google.com
Cc: stable@vger.kernel.org
Fixes: 83f40318da ("ring-buffer: Make removal of ring buffer pages atomic")
Reported-by: Jason Behmer <jbehmer@google.com>
Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2018-09-17 18:15:11 -04:00
..
blktrace.c
for-4.19/post-20180822
2018-08-22 13:38:05 -07:00
bpf_trace.c
tracing: Add SPDX License format to bpf_trace.c
2018-08-16 19:07:36 -04:00
ftrace.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
Kconfig
Masami found an off by one bug in the code that keeps "notrace" functions
2018-08-23 13:07:00 -07:00
Makefile
tracing: Allow gcov profiling on only ftrace subsystem
2018-08-21 09:11:49 -04:00
power-traces.c
preemptirq_delay_test.c
tracing: preemptirq_delay_run() can be static
2018-07-27 17:58:34 -04:00
ring_buffer.c
ring-buffer: Allow for rescheduling when removing pages
2018-09-17 18:15:11 -04:00
ring_buffer_benchmark.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
rpm-traces.c
trace.c
Updates for v4.19:
2018-08-20 18:32:00 -07:00
trace.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_benchmark.c
rcu: Rename cond_resched_rcu_qs() to cond_resched_tasks_rcu_qs()
2018-05-15 10:27:29 -07:00
trace_benchmark.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_branch.c
trace_clock.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_entries.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_event_perf.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_events.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_events_filter.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_events_filter_test.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_events_hist.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_events_trigger.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_export.c
tracing: Add trigger file for trace_markers tracefs/ftrace/print
2018-05-29 08:28:53 -04:00
trace_functions.c
tracing: Update stack trace skipping for ORC unwinder
2018-01-23 15:57:00 -05:00
trace_functions_graph.c
tracing: Fix missing return symbol in function_graph output
2018-07-03 18:47:11 -04:00
trace_hwlat.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_irqsoff.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_kdb.c
trace_kprobe.c
Masami found an off by one bug in the code that keeps "notrace" functions
2018-08-23 13:07:00 -07:00
trace_kprobe_selftest.c
selftest/ftrace: Move kprobe selftest function to separate compile unit
2018-07-30 18:41:04 -04:00
trace_kprobe_selftest.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_mmiotrace.c
trace_nop.c
trace_output.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_output.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_preemptirq.c
tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify their usage"
2018-08-10 15:12:00 -04:00
trace_printk.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_probe.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_probe.h
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_sched_switch.c
trace_sched_wakeup.c
trace_selftest.c
Tracing updates for 4.15:
2017-11-17 14:58:01 -08:00
trace_selftest_dynamic.c
ftrace: Mark function tracer test functions noinline/noclone
2018-01-23 15:57:29 -05:00
trace_seq.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_stack.c
tracing: Fix the file mode of stack tracer
2018-05-03 11:58:05 -04:00
trace_stat.c
trace_stat.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_syscalls.c
Tracing updates for 4.15:
2017-11-17 14:58:01 -08:00
trace_uprobe.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
tracing_map.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
tracing_map.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00