From: Vara Prasad <prasadav@us.ibm.com>
To: "Stone, Joshua I" <joshua.i.stone@intel.com>
Cc: Mike Mason <mmlnx@us.ibm.com>, systemtap@sources.redhat.com
Subject: Re: Pointer chain paranoia
Date: Tue, 14 Nov 2006 19:23:00 -0000 [thread overview]
Message-ID: <455A1510.7070004@us.ibm.com> (raw)
In-Reply-To: <C56DB814FAA30B418C75310AC4BB279DEEF8FD@scsmsx413.amr.corp.intel.com>
Stone, Joshua I wrote:
>On Tuesday, November 14, 2006 9:15 AM, Mike Mason wrote:
>
>
>>I'm looking for opinions from the systemtap community... How paranoid
>>should we be when following pointer chains in tapsets and scripts? I
>>think we should use deref() unless we're absolutely sure there's no
>>chance of referencing a null or bad pointer, but, of course, that'll
>>add a lot of code. I'm not sure how you can ever be absolutely sure,
>>particularly for longer chains. What guidance should we give tapset
>>and script writers?
>>
>>Mike
>>
>>
>
>I agree with you. Safety is always more important than efficiency,
>especially in tapsets which may be used by non-guru users. Any
>questionable pointers should be carefully dereferenced, e.g., parameters
>passed to functions should be assumed bogus.
>
>
I think Murphy's law seem to come true more often than we like, so it is
better to be paranoid about safety. If you recollect our OLS 2005 paper
we stated safety is our top most goal compared to performance,
especially considering probes are not in hot paths during the production
run all the time..
>When a pointer is known to originate from a kernel source, like from
>'current' or as a return value from a kernel function, then we might
>relax a bit.
>
>
>
I am not sure I agree with you to relax a bit with kernel sources at
this point in our project, may be in the future once we understand the
usage model better in the field.
I think it is a good advise to mention in the tapset writers guide to
use dereference macros before chasing a pointer. I am not sure why one
should use dereference macros for writing scripts unless you are in guru
mode (scripts here i mean are end user scripts)..
>Josh
>
>
next prev parent reply other threads:[~2006-11-14 19:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-14 18:36 Stone, Joshua I
2006-11-14 19:23 ` Vara Prasad [this message]
2006-11-14 19:25 ` Roland McGrath
2006-11-14 21:21 ` Mike Mason
2006-11-15 10:06 ` Roland McGrath
-- strict thread matches above, loose matches on Subject: below --
2006-11-14 21:29 Stone, Joshua I
2006-11-14 18:33 Mike Mason
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=455A1510.7070004@us.ibm.com \
--to=prasadav@us.ibm.com \
--cc=joshua.i.stone@intel.com \
--cc=mmlnx@us.ibm.com \
--cc=systemtap@sources.redhat.com \
/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).