From: Zhouyi Zhou <zhouzhouyi@gmail.com>
To: paulmck@kernel.org
Cc: rcu@vger.kernel.org, neeraju@codeaurora.org
Subject: Re: [PATCH] rcu: remove surplus instrumentation_end in rcu_nmi_enter
Date: Wed, 13 Jan 2021 11:46:32 +0800
Message-ID: <CAABZP2yMz9VGaYTnoQ2x1W8OrEQvtrUOO5nYj5pJfQPL-1e-MA@mail.gmail.com> (raw)
In-Reply-To: <20210112175055.GI2743@paulmck-ThinkPad-P72>
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@kernel.org> 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@gmail.com>
> 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@codeaurora.org>
> Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com>
> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
>
> 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();
> }
prev parent reply index
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-11 1:08 Zhouyi Zhou
2021-01-12 17:50 ` Paul E. McKenney
2021-01-13 3:46 ` Zhouyi Zhou [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAABZP2yMz9VGaYTnoQ2x1W8OrEQvtrUOO5nYj5pJfQPL-1e-MA@mail.gmail.com \
--to=zhouzhouyi@gmail.com \
--cc=neeraju@codeaurora.org \
--cc=paulmck@kernel.org \
--cc=rcu@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
RCU Archive on lore.kernel.org
Archives are clonable:
git clone --mirror https://lore.kernel.org/rcu/0 rcu/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 rcu rcu/ https://lore.kernel.org/rcu \
rcu@vger.kernel.org
public-inbox-index rcu
Example config snippet for mirrors
Newsgroup available over NNTP:
nntp://nntp.lore.kernel.org/org.kernel.vger.rcu
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git