Bug 597329

Summary: Backport the uprobes singlestep bypass
Product: Red Hat Enterprise Linux 6 Reporter: Josh Stone <jistone>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
Status: CLOSED CURRENTRELEASE QA Contact: Petr Muller <pmuller>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: mjw, ohudlick, pmuller
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: systemtap-1.2-5.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-10 21:44:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Josh Stone 2010-05-28 16:34:33 UTC
A recent change in systemtap's uprobes kernel module lets it skip singlestepping after a breakpoint on easily emulated instructions, especially NOPs.

http://sourceware.org/git/gitweb.cgi?p=systemtap.git;a=commit;h=f2c6cb7149b317baa7e1cb66312febc4b1ae5f9f

This is significant for SDT, our userspace static probes, because those probes always insert a NOP for systemtap to put a breakpoint on.  Using our benchmark scripts/probe_perf/bench.sh, which measures the overhead of nearly 4 million probe hits, I get these elapsed times:

   not instrumented:  0.86s
   uprobes w/ sstep: 16.46s
  uprobes w/o sstep:  7.81s

I believe this is a very worthwhile and easy change to backport into RHEL's systemtap package.

Comment 1 Josh Stone 2010-06-09 19:02:47 UTC
This commit is needed to fix powerpc:

http://sourceware.org/git/gitweb.cgi?p=systemtap.git;a=commit;h=8ea20756d7e3236da8aaee3f7db8cd76e5bbc3e6

We are also waiting on IBM folks to see if we need additions in powerpc's arch_validate_probed_insn().

Comment 2 Josh Stone 2010-06-14 22:53:09 UTC
uprobes_ppc: Don't emulate privileged MSR opcodes
http://sourceware.org/git/gitweb.cgi?p=systemtap.git;a=commit;h=51b7256

(FLW) I believe it's good to go...

Comment 5 releng-rhel@redhat.com 2010-11-10 21:44:43 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.