[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1310665613.27864.50.camel@gandalf.stny.rr.com>
Date: Thu, 14 Jul 2011 13:46:53 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: paulmck@...ux.vnet.ibm.com
Cc: Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Dipankar Sarma <dipankar@...ibm.com>,
linux-kernel@...r.kernel.org
Subject: Re: INFO: possible circular locking dependency detected
egad! Looking at this code more, there's nothing keeping
t->rcu_read_unlock_special safe! If it can be modified by the kthread,
and current, then we must use atomic operations or modify under lock.
Otherwise the old read/modify/write can corrupt it.
t->rcu_read_unlock_special &= ~RCU_READ_UNLOCK_BLOCKED;
is done before the lock is taken in rcu_read_unlock_special. If the
kthread is running rcu_boost() then its code:
t->rcu_read_unlock_special |= RCU_READ_UNLOCK_BOOSTED;
Can even negate the removing of the RCU_READ_UNLOCK_BLOCKED!
-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists