Messages in this thread | | | Subject | Re: _cpu_down deadlock [was Re: 2.6.19-rc1-mm1] | From | Arjan van de Ven <> | Date | Thu, 12 Oct 2006 08:51:12 +0200 |
| |
On Thu, 2006-10-12 at 09:46 +1000, Neil Brown wrote: > On Wednesday October 11, akpm@osdl.org wrote: > > > > > > So A waits on B and C, C waits on B, B waits on A. > > > Deadlock. > > > > Except the entire operation is serialised by the the two top-level callers > > (cpu_up() and cpu_down()) taking mutex_lock(&cpu_add_remove_lock). Can > > lockdep be taught about that? > > So you are saying that even though we have locking sequences > A -> B and B -> A, > that cannot - in this case - cause a deadlock as both sequences only > ever happen under a third exclusive lock C, > So when lockdep records a lock-dependency A -> B, it should also > record a list of locks that are *always* held when that dependency > occurs.
in that case... why are A and B there *at all* ?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |