From: David Smith <dsmith@redhat.com>
To: Josh Stone <jistone@redhat.com>
Cc: systemtap@sourceware.org, Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Subject: Re: Initial stap support for inode-based uprobes
Date: Wed, 16 Nov 2011 19:05:00 -0000 [thread overview]
Message-ID: <4EC3F556.4010902@redhat.com> (raw)
In-Reply-To: <4DD5DEAA.3050908@redhat.com>
I just got through running the systemtap testsuite on 2 different
configurations:
1) stock f16 kernel and HEAD systemtap
# of expected passes 3096
# of unexpected failures 63
# of unexpected successes 8
# of expected failures 259
# of untested testcases 61
# of unsupported tests 4
2) f16 kernel with the new inode-based uprobes built-in and systemtap
with a merged dsmith/task_finder2 and jistone/inode-uprobes branches
# of expected passes 2638
# of unexpected failures 329
# of unexpected successes 9
# of expected failures 251
# of untested testcases 70
# of unsupported tests 4
That isn't too bad for a first stab. Here's the link to the diff in
dejazilla:
<http://web.elastic.org/~dejazilla/viewrgdiff.php?rg1=402882&rg2=891228&_offset=0&_limit=40&_offset=0&testcase=&r1=&r2=>
I haven't had time to do a full analysis of the results, but the
problems Josh listed in his original email (included below) are still there.
> * Return probes. This hasn't yet been added to the new uprobes.
>
> * Process filtering. AFAICS, the current uprobes implementation sets
> the breakpoint in all processes that map the particular inode. There is
> a filtering mechanism, but that seems only to decide whether to call the
> handler each time. You'll still take the bp/sstep overhead. Also, on
> stap's side, we previously had the ability to limit process probes to
> the -x/-c target and children, which I haven't tried here yet.
>
> * Runtime build-id verification. Right now I'm just mapping the path to
> inode*, without checking that the build-id is what we expected. I'm not
> sure we even could at the systemtap-init point. Even if we did, the
> file may still get modified without changing the inode, and I don't
> think this uprobes gives us any way to notice or decide whether we like
> the new form.
>
> * SDT semaphore. In the current form, we have no hook on individual
> processes, so we can't modify the semaphores in applications that are
> actively gating their markers. We'll probably need something like
> PR10994 to achieve this, which isn't really about uprobes per-se, but
> rather about living without utrace.
>
> * Argument access. If you try $args, it will fail with a missing symbol
> 'task_user_regset_view'. I haven't looked closely at this yet.
>
> * Probe IP. For many probe handlers, we try to set the pt_regs IP to
> the actual breakpoint IP, but in this case we don't happen to even know
> the virtualized address. Uprobes itself uses uprobes_get_bkpt_addr() in
> some instances, but that's not exposed for our use.
--
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)
next prev parent reply other threads:[~2011-11-16 19:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-20 3:24 Josh Stone
2011-11-16 19:05 ` David Smith [this message]
2011-11-16 19:05 ` Josh Stone
2011-11-17 9:28 ` Mark Wielaard
2011-11-29 21:21 ` David Smith
2011-11-17 9:52 ` Mark Wielaard
2011-11-17 10:06 ` Mark Wielaard
2011-11-30 5:39 ` David Smith
2011-11-30 14:01 ` Srikar Dronamraju
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EC3F556.4010902@redhat.com \
--to=dsmith@redhat.com \
--cc=jistone@redhat.com \
--cc=srikar@linux.vnet.ibm.com \
--cc=systemtap@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).