public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: Martin Hunt <hunt@redhat.com>
To: "systemtap@sources.redhat.com" <systemtap@sources.redhat.com>
Subject: 2.6 kernel syscall changes
Date: Thu, 05 Jan 2006 21:40:00 -0000	[thread overview]
Message-ID: <1136497266.4730.19.camel@monkey2> (raw)

The question came up in the tapset discussion, "how much do the system
calls change?"  Here is a very quick answer.

Syscall between 2.6.0 and 2.6.15

-------- i386 -----------

ADDED 
sys_set_zone_reclaim (not used. looks to be removed in 2.6.16)
sys_mbind
sys_get_mempolicy
sys_set_mempolicy
sys_mq_open
sys_mq_unlink
sys_mq_timedsend
sys_mq_timedreceive
sys_mq_notify
sys_mq_getsetattr
sys_sys_kexec_load
sys_waitid
sys_add_key
sys_request_key
sys_keyctl
sys_ioprio_set
sys_ioprio_get
sys_inotify_init
sys_inotify_add_watch
sys_inotify_rm_watch

---------- x86_64 ----------
wrap_sys_shmat renamed sys_shmat
sys_sendfile renamed sys_sendfile64
sys_time64 renamed sys_time
plus added all the same ones as i386
-------------------------------------

Now when building a tapset with current versions of gcc, we also have to
deal with compiler bugs that prevent access to a few parameters in these
functions. And we have to keep in mind that there are system calls
unique to certain cpus, plus when a new syscall is added, it often
doesn't get added to all architectures at the same time. 

Now we can define probe aliases for functions that don't exist in the
current kernel.  If someone requests a probe on one of those, stap
correctly generates a compilation error. 

It is only wildcards that cause a problem. If someone requests a probe
set on all syscalls, then they presumably mean all the appropriate
system calls and any attempts to set probes on nonexistent functions
should be quietly ignored.

I think there also needs to be a way to explicitly request that a probe
be set on a function, if it exists, and otherwise a warning is printed
but the script continues.

So how to efficiently deal with compiler bugs that prevent access to
function parameters or internal variables?  Ideally a warning would be
printed but we would still compile something with the bad parameter or
variable set to some default, like 0 or "unknown". Is this possible?

Martin



             reply	other threads:[~2006-01-05 21:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-05 21:40 Martin Hunt [this message]
2006-01-09 18:03 ` Frank Ch. Eigler
2006-01-09 18:58   ` Martin Hunt

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=1136497266.4730.19.camel@monkey2 \
    --to=hunt@redhat.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).