Re: [PATCH] percpu: make this_cpu_generic_read notrace

From: Chunyan Zhang
Date: Fri Sep 16 2016 - 06:08:37 EST


On 16 September 2016 at 17:53, Will Deacon <will.deacon@xxxxxxx> 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@xxxxxxx>

Thanks,
Chunyan

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