[Bug tapsets/23761] New: generalized @entry

fche at redhat dot com sourceware-bugzilla@sourceware.org
Thu Oct 11 18:46:00 GMT 2018


https://sourceware.org/bugzilla/show_bug.cgi?id=23761

            Bug ID: 23761
           Summary: generalized @entry
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tapsets
          Assignee: systemtap at sourceware dot org
          Reporter: fche at redhat dot com
  Target Milestone: ---

With the arrival of non-[uk]retprobe mechanisms to trap return events (e.g.,
tp_syscall.*.return), the traditional @entry(expression) trick is no longer
directly workable.  This is because there is no mechanically-obvious entry
probe to collect the expression, and @entry($var) may need $var that are not
available at all in that form.

So we need to generalize this a bit.

One way is to introduce some macros that explicitly implement the @entry()
machinations behind the scenes:

- one macro to 'probe entry point & save variables'
- and one macro to 'probe exit point & expose saved variables'

used something like

probe syscall.* { @save(myargstr,argstr) }

probe syscall.*.return { 
    @restore(myargstr)
    log(myargstr)
}

which would expand to code that manages a myargstr global array, tid()-indexed.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Systemtap mailing list