Message ID | 1473497134-27807-1-git-send-email-zhang.chunyan@linaro.org |
---|---|
State | New |
Headers | show |
Hi Will and Steven, May I have a review or an acked-by from you on this patch so that Arnd can pick it up. I have tested this patch on arm qemu, I'm sure it can solve the problem described in commit message. Thanks, Chunyan On 10 September 2016 at 16:45, Chunyan Zhang <zhang.chunyan@linaro.org> wrote: > 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.chunyan@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 >
On Fri, Sep 16, 2016 at 04:42:44PM +0800, Chunyan Zhang wrote: > Hi Will and Steven, > > May I have a review or an acked-by from you on this patch so that Arnd > can pick it up. > > I have tested this patch on arm qemu, I'm sure it can solve the > problem described in commit message. It looks fine to me; we took your equivalent patch for arm64 already, so: Acked-by: Will Deacon <will.deacon@arm.com> Will > On 10 September 2016 at 16:45, Chunyan Zhang <zhang.chunyan@linaro.org> wrote: > > 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.chunyan@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 > > >
On 16 September 2016 at 17:53, Will Deacon <will.deacon@arm.com> wrote: > On Fri, Sep 16, 2016 at 04:42:44PM +0800, Chunyan Zhang wrote: >> Hi Will and Steven, >> >> May I have a review or an acked-by from you on this patch so that Arnd >> can pick it up. >> >> I have tested this patch on arm qemu, I'm sure it can solve the >> problem described in commit message. > > It looks fine to me; we took your equivalent patch for arm64 already, so: Yeah, I saw that. > > Acked-by: Will Deacon <will.deacon@arm.com> Thanks, Chunyan > > Will > >> On 10 September 2016 at 16:45, Chunyan Zhang <zhang.chunyan@linaro.org> wrote: >> > 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.chunyan@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 >> > >>
On Fri, 16 Sep 2016 10:53:09 +0100 Will Deacon <will.deacon@arm.com> wrote: > On Fri, Sep 16, 2016 at 04:42:44PM +0800, Chunyan Zhang wrote: > > Hi Will and Steven, > > > > May I have a review or an acked-by from you on this patch so that Arnd > > can pick it up. > > > > I have tested this patch on arm qemu, I'm sure it can solve the > > problem described in commit message. > > It looks fine to me; we took your equivalent patch for arm64 already, so: > Looks good to me too. Acked-by: Steven Rostedt <rostedt@goodmis.org> -- Steve
On Friday, September 16, 2016 10:53:09 AM CEST Will Deacon wrote: > On Fri, Sep 16, 2016 at 04:42:44PM +0800, Chunyan Zhang wrote: > > Hi Will and Steven, > > > > May I have a review or an acked-by from you on this patch so that Arnd > > can pick it up. > > > > I have tested this patch on arm qemu, I'm sure it can solve the > > problem described in commit message. > > It looks fine to me; we took your equivalent patch for arm64 already, so: > > Acked-by: Will Deacon <will.deacon@arm.com> > Applied to my asm-generic tree now, sorry for the delay, Arnd
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; \ })
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.chunyan@linaro.org> --- include/asm-generic/percpu.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.7.4