Re: [PATCH RFC tip/core/rcu 24/41] rcu: Check for idle-loop entrywhile in RCU read-side critical section

From: Paul E. McKenney
Date: Thu Feb 02 2012 - 12:50:46 EST


On Wed, Feb 01, 2012 at 09:13:37PM -0800, Josh Triplett wrote:
> On Wed, Feb 01, 2012 at 11:41:42AM -0800, Paul E. McKenney wrote:
> > --- a/kernel/rcutree.c
> > +++ b/kernel/rcutree.c
> > @@ -366,6 +366,20 @@ static void rcu_idle_enter_common(struct rcu_dynticks *rdtp, long long oldval)
> > atomic_inc(&rdtp->dynticks);
> > smp_mb__after_atomic_inc(); /* Force ordering with next sojourn. */
> > WARN_ON_ONCE(atomic_read(&rdtp->dynticks) & 0x1);
> > +
> > + /*
> > + * The idle task is not permitted to enter the idle loop while
> > + * in an RCU read-side critical section.
> > + */
> > + rcu_lockdep_assert(!lock_is_held(&rcu_lock_map),
> > + "Illegal idle entry in RCU read-side "
> > + "critical section.");
> > + rcu_lockdep_assert(!lock_is_held(&rcu_bh_lock_map),
> > + "Illegal idle entry in RCU-bh read-side "
> > + "critical section.");
> > + rcu_lockdep_assert(!lock_is_held(&rcu_sched_lock_map),
> > + "Illegal idle entry in RCU-sched read-side "
> > + "critical section.");
>
> Quoting a paragraph I added to Documentation/CodingStyle:
>
> > Statements longer than 80 columns will be broken into sensible chunks, unless
> > exceeding 80 columns significantly increases readability and does not hide
> > information. Descendants are always substantially shorter than the parent and
> > are placed substantially to the right. The same applies to function headers
> > with a long argument list. However, never break user-visible strings such as
> > printk messages, because that breaks the ability to grep for them.
>
> So, please don't break those strings across multiple lines. The same
> goes for the similar rcu_lockdep_assert strings added in a previous
> patch in this series.

Fixed!

Again, I leave it to you to get checkpatch.pl to complain about this. ;-)

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/