Il 19/09/2012 11:11, liu ping fan ha scritto: >> > Why not? devA will drop its local lock, devX will retake the big lock >> > recursively, devB will take its local lock. In the end, we have biglock >> > -> devB. >> > > But when adopting local lock, we assume take local lock, then biglock.
No, because the local lock will be dropped before taking the biglock. The order must always be coarse->fine. I don't know if the front-end (device) lock should come before or after the back-end (e.g. netdev) lock in the hierarchy, but that's another story. Paolo > Otherwise another thread will take biglock then local lock, which > cause the possibility of deadlock. >