diff options
author | Chunyan Zhang <[email protected]> | 2016-09-08 20:46:42 +0800 |
---|---|---|
committer | Catalin Marinas <[email protected]> | 2016-09-09 12:34:47 +0100 |
commit | 2b9743441a312e0b0a2d87deae363eccbe9d0f00 (patch) | |
tree | 4545db239efeb695ced5c8b1069d82d63d32be39 /lib/mpi/mpi-bit.c | |
parent | 872c63fbf9e153146b07f0cece4da0d70b283eeb (diff) |
arm64: use preempt_disable_notrace in _percpu_read/write
When debug preempt or preempt tracer is enabled, preempt_count_add/sub()
can be traced by function and function graph tracing, and
preempt_disable/enable() would call preempt_count_add/sub(), so in Ftrace
subsystem we should use preempt_disable/enable_notrace instead.
In the commit 345ddcc882d8 ("ftrace: Have set_ftrace_pid use the bitmap
like events do") the function this_cpu_read() was added to
trace_graph_entry(), and if this_cpu_read() calls preempt_disable(), graph
tracer will go into a recursive loop, even if the tracing_on is
disabled.
So this patch change to use preempt_enable/disable_notrace instead in
this_cpu_read().
Since Yonghui Yang helped a lot to find the root cause of this problem,
so also add his SOB.
Signed-off-by: Yonghui Yang <[email protected]>
Signed-off-by: Chunyan Zhang <[email protected]>
Acked-by: Will Deacon <[email protected]>
Signed-off-by: Catalin Marinas <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-bit.c')
0 files changed, 0 insertions, 0 deletions