Chunyan Zhang
2b9743441a
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 345ddcc882 ("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 <mark.yang@spreadtrum.com >
Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org >
Acked-by: Will Deacon <will.deacon@arm.com >
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com >
2016-09-09 12:34:47 +01:00
..
2016-07-06 10:34:46 +01:00
2015-03-25 11:49:30 +00:00
2016-07-25 13:41:01 +02:00
2016-07-01 11:26:20 +01:00
2016-02-11 10:20:02 +00:00
2015-01-07 11:40:59 +00:00
2015-03-27 13:44:35 +00:00
2016-07-01 11:28:16 +01:00
locking/atomic, arch/arm64: Implement atomic{,64}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()
2016-06-16 10:48:21 +02:00
locking/atomic, arch/arm64: Implement atomic{,64}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}() for LSE instructions
2016-06-16 10:48:22 +02:00
2016-06-16 10:48:32 +02:00
2016-07-07 09:10:53 +02:00
2014-04-18 11:40:33 +02:00
2014-12-22 16:47:32 +00:00
2016-02-18 18:16:53 +00:00
2016-02-23 17:43:25 +00:00
2016-02-23 17:43:25 +00:00
2015-10-28 19:09:17 +00:00
2016-03-24 19:13:59 -07:00
2015-10-28 18:32:12 +00:00
2016-06-21 15:09:11 +01:00
2016-07-07 09:10:53 +02:00
2015-11-17 13:24:36 +00:00
2015-05-19 16:09:29 +01:00
2016-07-12 16:09:37 +01:00
2016-08-02 16:11:27 -04:00
2015-06-19 14:46:39 +01:00
2016-07-07 18:35:21 +01:00
2015-10-04 17:49:27 +01:00
2016-07-19 15:03:20 +01:00
2014-12-04 12:41:49 +00:00
2016-06-06 13:48:54 -07:00
2014-11-05 09:03:25 +01:00
2016-07-27 11:16:05 -07:00
2016-07-29 10:45:58 +01:00
2016-06-21 17:07:09 +01:00
2016-03-25 16:37:42 -07:00
2016-02-26 15:22:53 +00:00
2014-05-08 11:31:57 +02:00
2015-01-29 17:24:39 +00:00
2016-03-04 18:19:17 +00:00
2016-02-24 14:57:26 +00:00
2016-02-16 15:12:32 +00:00
2015-12-21 17:26:00 +00:00
2016-02-29 18:34:18 +00:00
2015-10-21 15:35:58 +01:00
2016-07-19 15:03:20 +01:00
2016-05-31 16:41:51 +08:00
2015-07-27 11:08:40 +01:00
2015-12-21 17:26:01 +00:00
2016-07-19 16:59:40 +01:00
2015-08-03 11:34:15 +02:00
2016-02-18 18:16:44 +00:00
2016-06-21 15:09:11 +01:00
2016-04-14 16:15:08 +01:00
2016-06-27 16:31:25 +01:00
2016-06-16 19:20:51 +01:00
2016-08-11 17:38:16 +01:00
2016-06-14 11:16:27 +02:00
2016-05-16 17:17:24 -07:00
2014-07-11 04:57:44 -07:00
2016-06-21 17:07:38 +01:00
2016-07-18 18:10:31 +01:00
2016-07-03 23:41:27 +02:00
2016-05-20 15:39:42 +02:00
2016-07-03 23:41:27 +02:00
2014-04-30 04:18:57 -07:00
2016-02-26 18:35:02 +00:00
2016-06-03 10:16:21 +01:00
2016-02-25 10:33:06 +00:00
2016-07-01 11:56:26 +01:00
2016-04-15 18:06:09 +01:00
2016-02-24 14:57:27 +00:00
2014-05-08 11:31:57 +02:00
2016-05-30 14:27:09 +02:00
2016-03-29 16:04:57 +01:00
2016-06-03 10:57:18 +01:00
2015-12-21 14:40:54 +00:00
2016-03-07 10:40:02 -06:00
2016-09-09 12:34:47 +01:00
2016-03-29 16:04:57 +01:00
2016-06-24 17:23:52 -07:00
2016-06-29 13:59:14 +02:00
2016-06-29 14:01:34 +02:00
2016-05-03 09:58:38 +01:00
2016-08-04 13:41:18 +01:00
2016-07-19 15:03:21 +01:00
2015-05-19 15:27:42 +01:00
2016-07-01 11:46:00 +01:00
2016-06-21 15:09:11 +01:00
2016-07-27 11:16:05 -07:00
2014-11-28 10:24:59 +00:00
2015-12-02 14:00:10 +00:00
2014-08-06 12:56:16 +02:00
2015-07-29 18:32:09 +01:00
2016-06-27 16:24:51 +01:00
2014-08-19 20:23:02 +01:00
2015-07-27 11:09:34 +01:00
2016-09-09 12:33:48 +01:00
2014-07-09 12:23:48 +01:00
2015-12-21 17:26:02 +00:00
2016-04-21 14:58:21 +02:00
2016-04-21 14:58:21 +02:00
2016-04-21 14:58:21 +02:00
2015-10-12 17:46:36 +01:00
2016-04-28 13:36:22 +01:00
2014-07-10 11:06:00 +01:00
2016-07-01 11:46:00 +01:00
2015-06-19 16:26:15 +01:00
2016-02-18 17:27:05 +00:00
2015-10-07 11:56:21 +01:00
2015-10-07 11:56:33 +01:00
2016-04-15 18:06:09 +01:00
2016-07-01 11:43:30 +01:00
2016-08-08 14:48:14 -07:00
2016-06-01 18:48:20 +01:00
2016-06-01 18:48:20 +01:00
2016-07-12 16:06:32 +01:00
2016-08-02 16:11:27 -04:00
2016-02-24 14:57:26 +00:00