[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160916095309.GM3380@arm.com>
Date: Fri, 16 Sep 2016 10:53:09 +0100
From: Will Deacon <will.deacon@....com>
To: Chunyan Zhang <zhang.chunyan@...aro.org>
Cc: Arnd Bergmann <arnd@...db.de>,
Steven Rostedt <rostedt@...dmis.org>,
linux-arch@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Lyra Zhang <zhang.lyra@...il.com>
Subject: Re: [PATCH] percpu: make this_cpu_generic_read notrace
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@....com>
Will
> On 10 September 2016 at 16:45, Chunyan Zhang <zhang.chunyan@...aro.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@...aro.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
> >
>
Powered by blists - more mailing lists