Address comments from https://github.com/iovisor/bcc/pull/936
authorKenny Yu <kennyyu@fb.com>
Fri, 3 Feb 2017 17:39:39 +0000 (09:39 -0800)
committerKenny Yu <kennyyu@fb.com>
Fri, 3 Feb 2017 18:45:43 +0000 (10:45 -0800)
commite7dff43a988621bb16ad91cc2a62bd9ef5171a29
treeb014d45f3b456e5d6199d99a41811df60a5af755
parent66fb4d29a89692b27291f678001298db976e92a5
Address comments from https://github.com/iovisor/bcc/pull/936

- 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.
FAQ.txt
INSTALL.md
debian/control
man/man8/deadlock_detector.8
tools/deadlock_detector.py
tools/deadlock_detector_example.txt