On Sat, Apr 17, 2010 at 10:06:36PM -0500, James Bottomley wrote: > On Fri, 2010-04-16 at 09:45 -0700, Paul E. McKenney wrote: > > o mutex_lock(): Critical sections need not guarantee > > forward progress, as general blocking is permitted. > > This isn't quite right. mutex critical sections must guarantee eventual > forward progress against the class of other potential acquirers of the > mutex otherwise the system will become either deadlocked or livelocked. If I understand you correctly, you are saying that it is OK for a given critical section for a given mutex to fail to make forward progress if nothing else happens to acquire that mutex during that time. I would agree, at least I would if you were to further add that the soft-lockup checks permit an additional 120 seconds of failure to make forward progress even if something -is- attempting to acquire that mutex. By my standards, 120 seconds is a reasonable approximation to infinity, hence my statement above. So, would you agree with the following as a more precise statement? o mutex_lock(): Critical sections need not guarantee forward progress unless some other task is waiting on the mutex in question, in which case critical sections should complete in 120 seconds. Thanx, Paul -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html