[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