[sheepdog] [PATCH 00/10] refine tracer

MORITA Kazutaka morita.kazutaka at gmail.com
Wed Aug 7 17:48:58 CEST 2013


From: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>

The current tracer has the following problems:

 - We cannot use the tracer with debug build.
 - GDB doesn't print a line number if we link tracer.ld.
 - We cannot trace the function which were not called before starting
   tracer.
 - There are some race conditions.

This series fixes these problem.

This series is a bit big, but helps us lot to debug codes and find a
bottleneck.  In addition, it doesn't hurt the sheep core codes at all.
I'd like to include this series in the 0.7.0 release if possible.

MORITA Kazutaka (10):
  move suspend_worker_threads and resume_worker_threads to work.c
  trace: create a caller list in tracer_init()
  trace: guard strbuf with pthread_mutex_lock
  trace: add support for stackable tracers
  collie: show error message of tracer
  trace: move nop5 to trace.c
  add notrace to only entry point and exit point
  configure: support tracer with debug build
  sheep: add a checker for thread type
  sheep: add event_loop checker

 collie/collie.c      |    2 +-
 collie/common.c      |    5 +-
 collie/debug.c       |   30 ++++
 configure.ac         |   34 ++--
 include/bitops.h     |   31 ++++
 include/list.h       |    1 -
 include/sheep.h      |    1 +
 include/util.h       |    2 +-
 include/work.h       |    5 +-
 lib/logger.c         |   40 ++---
 lib/net.c            |    4 +-
 lib/strbuf.c         |    4 +-
 lib/util.c           |    9 +-
 lib/work.c           |   94 +++++++++--
 sheep/Makefile.am    |    6 +-
 sheep/group.c        |   31 ++--
 sheep/request.c      |   11 +-
 sheep/sheep.c        |    7 +-
 sheep/sheep_priv.h   |   22 +++
 sheep/thread_check.c |   79 +++++++++
 sheep/trace/graph.c  |  100 +++---------
 sheep/trace/mcount.S |   39 +----
 sheep/trace/stabs.c  |  210 ------------------------
 sheep/trace/trace.c  |  443 +++++++++++++++++++++++++++++---------------------
 sheep/trace/trace.h  |   55 +++----
 sheep/trace/trace.ld |   18 --
 26 files changed, 635 insertions(+), 648 deletions(-)
 create mode 100644 sheep/thread_check.c
 delete mode 100644 sheep/trace/stabs.c
 delete mode 100644 sheep/trace/trace.ld

-- 
1.7.9.5




More information about the sheepdog mailing list