[RFC tip/locking/lockdep v3 05/14] lockdep: Extend __bfs() to work with multiple kinds of dependencies

2017-09-25 Thread Boqun Feng
Now we have four kinds of dependencies in the dependency graph, and not all the pathes carry strong dependencies, for example: Given lock A, B, C, if we have: CPU1CPU2 = == write_lock(A); read_lock(B);

[RFC tip/locking/lockdep v3 05/14] lockdep: Extend __bfs() to work with multiple kinds of dependencies

2017-09-25 Thread Boqun Feng
Now we have four kinds of dependencies in the dependency graph, and not all the pathes carry strong dependencies, for example: Given lock A, B, C, if we have: CPU1CPU2 = == write_lock(A); read_lock(B);