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
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
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
trace_functions.c
trace_functions_graph.c
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
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
trace_selftest_dynamic.c
trace_seq.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_stack.c
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
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