• Kenny Yu's avatar
    Address comments from https://github.com/iovisor/bcc/pull/936 · e7dff43a
    Kenny Yu authored
    - Remove dependency on networkx. I did this by copying only the parts I needed
      from networkx, and adapting it to only use what I needed. These include:
      `DiGraph`, `strongly_connected_components`, `simple_cyles`
    
    - Symbolize global and static mutexes. In order to do this, I subshell out to
      `subshell`. This isn't very efficient, but this only happens at the end of
      the program if a deadlock is found, so it's not too bad.
    
    - `--verbose` mode to print graph statistics
    
    - Make `--binary` flag optional. Not needed by default, However, this is needed
      on kernels without this recent kernel patch
      (https://lkml.org/lkml/2017/1/13/585, submitted 2 weeks ago): we can't attach
      a uprobe on a binary that has `:` in the path name. Instead, we can create a
      symlink without `:` in the path and pass that to the `--binary` argument
      instead.
    e7dff43a
deadlock_detector_example.txt 14.2 KB