[lttng-dev] [RFC PATCH lttng-modules 00/10] Callstack context for kernel tracer

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Mar 31 13:17:09 UTC 2017


This patchset has been sitting in my dev branches for a while. I think
it's time I post it for RFC.

Add callstack contexts for lttng-modules kernel tracer (callstack-user
for user-space callstack, and callstack-kernel for kernel callstack). It
currently rely on frame pointers for user-space callstacks, so it's
normal that we cannot get stack trace for all applications for now. We
may want to investigate using unwind information in those situations.

This is a RFC patchset. There are currently no tests for this feature in
lttng-tools.

Feedback is welcome!

Thanks,

Mathieu


Francis Giraldeau (3):
  Pass arguments for context size computation
  Define max nesting count constant
  Add kernel and user callstack contexts

Mathieu Desnoyers (7):
  Cleanup callstack context
  callstack context: use delimiter when stack is incomplete
  Fix: callstack context: false-sharing, bad memory size allocation
  Fix callstack context: write empty sequence if no stack trace
  Cleanup callstack context
  Fix: callstack context alignment calculation
  callstack context: bump number of entries to 128

 Makefile                      |   3 +-
 lib/ringbuffer/frontend.h     |   3 +
 lib/ringbuffer/frontend_api.h |   2 +-
 lttng-abi.c                   |   3 +
 lttng-abi.h                   |   2 +
 lttng-context-callstack.c     | 361 ++++++++++++++++++++++++++++++++++++++++++
 lttng-events.h                |  12 ++
 lttng-ring-buffer-client.h    |  17 +-
 8 files changed, 396 insertions(+), 7 deletions(-)
 create mode 100644 lttng-context-callstack.c

-- 
2.1.4



More information about the lttng-dev mailing list