From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16549 invoked by alias); 7 Jul 2010 11:51:51 -0000 Received: (qmail 16525 invoked by uid 9112); 7 Jul 2010 11:51:50 -0000 Date: Wed, 07 Jul 2010 11:51:00 -0000 Message-ID: <20100707115150.16513.qmail@sourceware.org> From: mark@sourceware.org To: systemtap-cvs@sourceware.org Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.2-424-g97cd933 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: d46703098a8d64465c399fee375efa1fdfb20f04 X-Git-Newrev: 97cd9334da211ad573fa65d4fde61642f877af29 Mailing-List: contact systemtap-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-cvs-owner@sourceware.org List-Archive: Reply-To: systemtap@sourceware.org X-SW-Source: 2010-q3/txt/msg00022.txt.bz2 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "systemtap: system-wide probe/trace tool". The branch, master has been updated via 97cd9334da211ad573fa65d4fde61642f877af29 (commit) from d46703098a8d64465c399fee375efa1fdfb20f04 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 97cd9334da211ad573fa65d4fde61642f877af29 Author: Mark Wielaard Date: Wed Jul 7 13:25:47 2010 +0200 Keep track of context pt_regs state to distinquish between user/kernel regs. Although user_mode(regs) can give us a hint as to where the regs are coming from, it is more reliably to let the probe handler keep track. All utrace/uprobes based handlers now explicitly set CONTEXT->regflags _STP_REGS_USER_FLAG. As do the timer probes (based on user_mode). The perf based handlers don't yet try to determine the regs origin (but might just use the timer based heuristic). Relevant symbol/unwind tapset functions now take advantage of this new context flag. The register tapsets might also benefit from the extra info, but have not been adjusted. * translate.cxx (c_unparser::emit_common_header): Define _STP_REGS_USER_FLAG and add regflags field to struct context. * tapset-itrace.cxx (itrace_derived_probe_group::emit_module_decls): Set _STP_REGS_USER_FLAG for regflags. * tapset-perfmon.cxx (perf_derived_probe_group::emit_module_decls): Add XXX note to investigate. * tapset-timers.cxx (profile_derived_probe_group::emit_module_decls): Set _STP_REGS_USER_FLAG for regflags based on user_mode. * tapset-utrace.cxx (utrace_derived_probe_group::emit_module_decls): Set _STP_REGS_USER_FLAG for regflags. * tapsets.cxx (common_probe_entryfn_prologue): Initialize regflags to zero. (uprobe_derived_probe_group::emit_module_decls): Set _STP_REGS_USER_FLAG for regflags. * tapset/context-symbols.stp (probefunc): Check CONTEXT->regflags and use current task lookup if set. (probemod): Check CONTEXT->regflags _STP_REGS_USER_FLAG isn't set. * tapset/context-unwind.stp (print_backtrace): Likewise. (sprint_backtrace): Likewise. (backtrace): Likewise. * tapset/context.stp (user_mode): Just check CONTEXT->regflags. * tapset/ucontext-unwind.stp (print_ubacktrace): Check CONTEXT->regflags _STP_REGS_USER_FLAG is set. (sprint_ubacktrace): Likewise. (print_ubacktrace_brief): Likewise. (ubacktrace): Likewise. * tapset/utrace.stp (_utrace_syscall_nr): Likewise. (_utrace_syscall_arg): Likewise. (_utrace_syscall_return): Likewise. ----------------------------------------------------------------------- Summary of changes: tapset-itrace.cxx | 1 + tapset-perfmon.cxx | 2 ++ tapset-timers.cxx | 3 +++ tapset-utrace.cxx | 1 + tapset/context-symbols.stp | 12 +++++++----- tapset/context-unwind.stp | 6 +++--- tapset/context.stp | 8 ++------ tapset/ucontext-unwind.stp | 28 ++++++++++++++++++++++++---- tapset/utrace.stp | 6 +++--- tapsets.cxx | 3 +++ translate.cxx | 7 +++++++ 11 files changed, 56 insertions(+), 21 deletions(-) hooks/post-receive -- systemtap: system-wide probe/trace tool