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
we should use preempt_disable/enable_notrace in Ftrace subsystem.

The function this_cpu_read() started being used by function graph tracing
after the commit 345ddcc882d8 ("ftrace: Have set_ftrace_pid use the
bitmap like events do"), so it has to use preempt_disable/enable_notrace
instead now.

Signed-off-by: Chunyan Zhang <zhang.chun...@linaro.org>
---
 include/asm-generic/percpu.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
index 4d9f233..70fefec 100644
--- a/include/asm-generic/percpu.h
+++ b/include/asm-generic/percpu.h
@@ -108,9 +108,9 @@ do {                                                        
                \
 #define this_cpu_generic_read(pcp)                                     \
 ({                                                                     \
        typeof(pcp) __ret;                                              \
-       preempt_disable();                                              \
+       preempt_disable_notrace();                                      \
        __ret = *this_cpu_ptr(&(pcp));                                  \
-       preempt_enable();                                               \
+       preempt_enable_notrace();                                       \
        __ret;                                                          \
 })
 
-- 
2.7.4

Reply via email to