Re: [PATCH] percpu: make this_cpu_generic_read notrace

From: Will Deacon
Date: Fri Sep 16 2016 - 05:53:20 EST


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@xxxxxxx>

Will

> On 10 September 2016 at 16:45, Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> 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@xxxxxxxxxx>
> > ---
> > 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
> >
>