On Tue, Aug 07, 2012 at 06:33:44PM +0100, Will Deacon wrote: > What I think is happening is that B writes the -1 in __mutex_lock_common > and, after seeing a NULL owner (C may not have set that yet), drops through > to the: > > if (atomic_xchg(&lock->count, -1) == 1) > goto done;
Sorry, should have proofread that. I meant to say: What I think is happening is that B writes the -1 in __mutex_lock_common after seeing a NULL owner (C may not have set that yet) and dropping through to the: if (atomic_xchg(&lock->count, -1) == 1) goto done; Will -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/