From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu,
laijs@cn.fujitsu.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, josh@joshtriplett.org,
dvhltc@us.ibm.com, niv@us.ibm.com, tglx@linutronix.de,
peterz@infradead.org, rostedt@goodmis.org,
Valdis.Kletnieks@vt.edu, dhowells@redhat.com,
eric.dumazet@gmail.com
Subject: Re: [PATCH RFC tip/core/rcu 02/10] rcu: make dead code really dead
Date: Mon, 5 Apr 2010 11:56:24 -0700 [thread overview]
Message-ID: <20100405185624.GF2525@linux.vnet.ibm.com> (raw)
In-Reply-To: <20100405184928.GA4505@Krystal>
On Mon, Apr 05, 2010 at 02:49:28PM -0400, Mathieu Desnoyers wrote:
> * Paul E. McKenney (paulmck@linux.vnet.ibm.com) wrote:
> > From: Lai Jiangshan <laijs@cn.fujitsu.com>
> >
> > cleanup: make dead code really dead
>
> Is it just me or this spinlock change is more than just a cleanup ? Or
> maybe it just needs a much more descriptive changelog.
Just a cleanup. In the case where the "break" could be executed,
control will never reach the RCU_SAVE_DYNTICK leg of the switch statement.
That said, yes, if control -could- reach the RCU_SAVE_DYNTICK when
this "break" statement was executed, we would have had a locking
problem. But as it is, this change just makes the dead code really
all be dead so that gcc knows not to produce the corresponding binary.
Thanx, Paul
> Thanks,
>
> Mathieu
>
> >
> > Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > ---
> > kernel/rcutree.c | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/kernel/rcutree.c b/kernel/rcutree.c
> > index e54c123..6042fb8 100644
> > --- a/kernel/rcutree.c
> > +++ b/kernel/rcutree.c
> > @@ -1236,11 +1236,11 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
> > break; /* grace period idle or initializing, ignore. */
> >
> > case RCU_SAVE_DYNTICK:
> > -
> > - raw_spin_unlock(&rnp->lock); /* irqs remain disabled */
> > if (RCU_SIGNAL_INIT != RCU_SAVE_DYNTICK)
> > break; /* So gcc recognizes the dead code. */
> >
> > + raw_spin_unlock(&rnp->lock); /* irqs remain disabled */
> > +
> > /* Record dyntick-idle state. */
> > force_qs_rnp(rsp, dyntick_save_progress_counter);
> > raw_spin_lock(&rnp->lock); /* irqs already disabled */
> > --
> > 1.7.0
> >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
next prev parent reply other threads:[~2010-04-05 18:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-05 18:34 [PATCH RFC tip/core/rcu 0/10] rcu: patches queued for 2.6.35 Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 01/10] rcu: substitute set_need_resched for sending resched IPIs Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 02/10] rcu: make dead code really dead Paul E. McKenney
2010-04-05 18:49 ` Mathieu Desnoyers
2010-04-05 18:56 ` Paul E. McKenney [this message]
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 03/10] rcu: move some code from macro to function Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 04/10] rcu: ignore offline CPUs in last non-dyntick-idle CPU check Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 05/10] rcu: Fix bogus CONFIG_PROVE_LOCKING in comments to reflect reality Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 06/10] rcu: fix now-bogus rcu_scheduler_active comments Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 07/10] rcu: shrink rcutiny by making synchronize_rcu_bh() be inline Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 08/10] rcu: rename rcutiny rcu_ctrlblk to rcu_sched_ctrlblk Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 09/10] rcu: refactor RCU's context-switch handling Paul E. McKenney
2010-04-05 18:34 ` [PATCH RFC tip/core/rcu 10/10] rcu: slim down rcutiny by removing rcu_scheduler_active and friends Paul E. McKenney
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=20100405185624.GF2525@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=dvhltc@us.ibm.com \
--cc=eric.dumazet@gmail.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@polymtl.ca \
--cc=mingo@elte.hu \
--cc=niv@us.ibm.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.