Re: [PATCH] rcu: remove surplus instrumentation_end in rcu_nmi_enter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank Paul for your encouragement and valuable advice

I achieve great self improvement in studying and participating Linux RCU

Also thank Neeraj for mutual interest in Linux RCU, your contribution
makes me believe
that even a small enhancement of code can still attract interest and
draw favorable attention
from peers.

Cheers
Zhouyi
On Wed, Jan 13, 2021 at 1:50 AM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
> Good catch, applied, thank you!  As usual, I edited a bit, so please
> check below to see if I messed anything up.
>
> I did add Neeraj Upadhyay's Reported-by because he noted this, though you
> beat him with a public posting, though mostly because I asked him whether
> he could make this happen.  I also added the Fixes, but could you please
> do that in the future?  You can use "git blame" or either "git log" and
> "gitk" with appropriate options to find the offending commit.
>
>                                                         Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit 3f91ff7fd4f76e7eb48bad79666c466bc3530324
> Author: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx>
> Date:   Mon Jan 11 09:08:59 2021 +0800
>
>     rcu: Remove spurious instrumentation_end() in rcu_nmi_enter()
>
>     In rcu_nmi_enter(), there is an erroneous instrumentation_end() in the
>     second branch of the "if" statement.  Oddly enough, "objtool check -f
>     vmlinux.o" fails to complain because it is unable to correctly cover
>     all cases.  Instead, objtool visits the third branch first, which marks
>     following trace_rcu_dyntick() as visited.  This commit therefore removes
>     the spurious instrumentation_end().
>
>     Fixes: 04b25a495bd6 ("rcu: Mark rcu_nmi_enter() call to rcu_cleanup_after_idle() noinstr")
>     Reported-by Neeraj Upadhyay <neeraju@xxxxxxxxxxxxxx>
>     Signed-off-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx>
>     Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
>
> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> index 63c6dba..e04e336 100644
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@ -1050,7 +1050,6 @@ noinstr void rcu_nmi_enter(void)
>         } else if (!in_nmi()) {
>                 instrumentation_begin();
>                 rcu_irq_enter_check_tick();
> -               instrumentation_end();
>         } else  {
>                 instrumentation_begin();
>         }



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux