Pavankumar Kondeti
9db84311e7
tracing: rework sched_preempt_disable trace point implementation
...
The current implementation of sched_preempt_disable trace point
fails to detect the preemption disable time inside spin_lock_bh()
and spin_unlock_bh(). This is because __local_bh_disable_ip() calls
directly __preempt_count_add() which skips the preemption disable
tracking. Instead of relying on the updates to preempt count, it
is better to write the preemption disable tracking directly to
preemptsoff tracer. This is similar to how irq disable tracking
is done.
The current code handles the false positives coming from __schedule()
by directly resetting the time stamp. This requires an interface
from the scheduler to preemptsoff tracer. To avoid this additional
interface, the current patch detects the same condition by comparing
the task pid and context switch count. If they are not matching
at the time of preemption disable to enable, don't track the preemption
disable time as it involved a context switch.
Due to this rework. the sched_preempt_disable trace point location is
changed to
/sys/kernel/debug/tracing/events/preemptirq/sched_preempt_disable/enable
Change-Id: I7f58d316b7c54bc7a54102bfeb678404bda010d4
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[satyap@codeaurora.org: port to 5.4 and resolve trivial merge conflicts]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2020-01-27 15:30:25 -08:00
..
blktrace.c
blktrace: no need to check return value of debugfs_create functions
2019-06-03 15:39:39 +02:00
bpf_trace.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
2019-09-28 17:47:33 -07:00
fgraph.c
ftrace: Look up the address of return_to_handler() using helpers
2019-09-18 12:24:47 +10:00
ftrace.c
ANDROID: kbuild: fix dynamic ftrace with clang LTO
2019-11-27 12:49:10 -08:00
ftrace_internal.h
treewide: Rename rcu_dereference_raw_notrace() to _check()
2019-08-01 14:16:21 -07:00
ipc_logging.c
trace: Add snapshot of ipc logging driver
2019-08-06 11:40:33 -07:00
ipc_logging_debug.c
trace: Add snapshot of ipc logging driver
2019-08-06 11:40:33 -07:00
ipc_logging_private.h
trace: Add snapshot of ipc logging driver
2019-08-06 11:40:33 -07:00
Kconfig
Merge remote-tracking branch 'remotes/origin/tmp-935f8bc6f7aa' into msm-lahaina
2019-10-10 20:02:38 -07:00
Makefile
trace: rtb: add msm_rtb tracing
2019-08-14 16:13:08 -07:00
msm_rtb.c
trace: rtb: add msm_rtb tracing
2019-08-14 16:13:08 -07:00
power-traces.c
PM / devfreq: Export tracepoint symbols
2020-01-15 09:01:10 -07:00
preemptirq_delay_test.c
ring_buffer.c
ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS
2019-05-28 09:36:19 -04:00
ring_buffer_benchmark.c
tracing: Use CONFIG_PREEMPTION
2019-07-31 19:03:35 +02:00
rpm-traces.c
trace.c
coresight: enable stm logging for trace events, marker and printk
2019-12-16 14:10:40 +08:00
trace.h
coresight: enable stm logging for trace events, marker and printk
2019-12-16 14:10:40 +08:00
trace_benchmark.c
trace_benchmark.h
trace_branch.c
trace_clock.c
trace_dynevent.c
tracing: Add tracing_check_open_get_tr()
2019-10-12 20:44:07 -04:00
trace_dynevent.h
tracing/dynevent: Pass extra arguments to match operation
2019-08-31 12:19:38 -04:00
trace_entries.h
trace_event_perf.c
tracing: Fix race in perf_trace_buf initialization
2019-10-21 19:38:28 -04:00
trace_events.c
coresight: enable stm logging for trace events, marker and printk
2019-12-16 14:10:40 +08:00
trace_events_filter.c
tracing: Have error path in predicate_parse() free its allocated memory
2019-09-28 17:13:39 -04:00
trace_events_filter_test.h
trace_events_hist.c
coresight: enable stm logging for trace events, marker and printk
2019-12-16 14:10:40 +08:00
trace_events_trigger.c
tracing: Add locked_down checks to the open calls of files created for tracefs
2019-10-12 20:48:06 -04:00
trace_export.c
trace_functions.c
trace_functions_graph.c
fgraph: Remove redundant ftrace_graph_notrace_addr() test
2019-07-30 21:50:03 -04:00
trace_hwlat.c
tracing/hwlat: Don't ignore outer-loop duration when calculating max_latency
2019-10-12 20:49:33 -04:00
trace_irqsoff.c
tracing: rework sched_preempt_disable trace point implementation
2020-01-27 15:30:25 -08:00
trace_kdb.c
tracing: Silence GCC 9 array bounds warning
2019-05-25 23:04:30 -04:00
trace_kprobe.c
tracing: Add locked_down checks to the open calls of files created for tracefs
2019-10-12 20:48:06 -04:00
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_mmiotrace.c
trace_nop.c
trace_output.c
tracing: Be more clever when dumping hex in __print_hex()
2019-09-17 11:21:28 -04:00
trace_output.h
trace_preemptirq.c
trace_printk.c
tracing: Add locked_down checks to the open calls of files created for tracefs
2019-10-12 20:48:06 -04:00
trace_probe.c
tracing/probe: Fix to check the difference of nr_args before adding probe
2019-09-28 17:07:53 -04:00
trace_probe.h
tracing/probe: Reject exactly same probe event
2019-09-19 11:09:16 -04:00
trace_probe_tmpl.h
tracing/probe: Support user-space dereference
2019-05-25 23:04:42 -04:00
trace_sched_switch.c
trace_sched_wakeup.c
sched/core: Convert get_task_struct() to return the task
2019-07-25 15:51:54 +02:00
trace_selftest.c
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c
tracing: Add locked_down checks to the open calls of files created for tracefs
2019-10-12 20:48:06 -04:00
trace_stat.c
tracing: Add locked_down checks to the open calls of files created for tracefs
2019-10-12 20:48:06 -04:00
trace_stat.h
trace_syscalls.c
coresight: enable stm logging for trace events, marker and printk
2019-12-16 14:10:40 +08:00
trace_uprobe.c
coresight: enable stm logging for trace events, marker and printk
2019-12-16 14:10:40 +08:00
tracing_map.c
tracing_map.h