[lkml]   [2011]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: 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

 \ /
  Last update: 2011-07-14 19:49    [W:0.085 / U:1.456 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site