From: "Frank Ch. Eigler" <fche@redhat.com>
To: Rik van Riel <riel@redhat.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>,
Masami Hiramatsu <mhiramat@redhat.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
systemtap@sourceware.org
Subject: systemtap & backward compatibility, was Re: [RFC] systemtap: begin the process of using proper kernel APIs
Date: Wed, 23 Jul 2008 11:04:34 -0400 [thread overview]
Message-ID: <20080723150434.GC11191@redhat.com> (raw)
In-Reply-To: <20080722140015.37628ea4@bree.surriel.com>
Hi -
I wrote:
> > [...] One significant requirement for us is to keep working with
> > older kernels. [...]
Maybe it's worth elaborating on why the need for backward
compatibility is different for systemtap than for typical kernel-side
code.
The bulk of systemtap is a user-space program, and it does very
user-spacey things like parsing dwarf and invoking compilers, running
network servers. Soon it will include user-space libraries. It is so
different from the stuff normally found there that no one has AFAIK
seriously proposed that the entire software be made part of the kernel
git tree. So it is an ordinary separate user-space package, built by
users and distributors.
It does happen to *generate* kernel modules. The way that such a
module must interface with any particular kernel is naturally subject
to the whims & desires of the kernel du jour. This is why we have a
mass of mechanism to try to automatically speak to each kernel version
as appropriate.
It is desirable to minimize this mass for obvious reasons. When a new
upstream kernel comes out with a tasty new feature -- or a less tasty
API rewrite -- we need to extend systemtap to support that too. We
cannot easily take old support away, because then the same user-space
code base would no longer run against actually installed kernels.
To draw an analogy, systemtap is somewhat like low-level userspace
code like glibc or syslogd or udevd. I hope no one would seriously
propose casually committing code to those packages that would make
them unusable on prior kernel versions. Accepting such a patch would
require their maintainers to fork outright every time a kernel change
occurs.
Things are good however if the low-level userspace changes are
backward-compatible, so that the new kernel facility is used when
present, but the software does not regress if it is not. I believe
this is what we need to aim for, even though it puts the bulk of the
burden on systemtap (or glibc, or ...).
I hope this fills in some of the gaps in the background.
- FChE
next prev parent reply other threads:[~2008-07-23 15:06 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-15 18:33 [RFC] systemtap: begin the process of using proper kernel APIs (part1: use kprobe symbol_name/offset instead of address) James Bottomley
2008-07-16 22:40 ` Masami Hiramatsu
2008-07-16 23:03 ` James Bottomley
2008-07-17 0:05 ` Masami Hiramatsu
2008-07-17 1:49 ` James Bottomley
2008-07-17 14:18 ` James Bottomley
2008-07-17 16:58 ` James Bottomley
2008-07-17 21:36 ` Masami Hiramatsu
2008-07-17 22:03 ` James Bottomley
2008-07-21 14:20 ` James Bottomley
[not found] ` <1216313914.5515.25.camel__21144.9282979176$1216314027$gmane$org@localhost.localdomain>
2008-07-17 18:30 ` Frank Ch. Eigler
2008-07-17 20:12 ` James Bottomley
2008-07-17 20:26 ` Frank Ch. Eigler
2008-07-17 21:06 ` James Bottomley
2008-07-17 21:33 ` Frank Ch. Eigler
2008-07-17 22:03 ` Masami Hiramatsu
2008-07-22 18:00 ` Rik van Riel
2008-07-22 18:11 ` Frank Ch. Eigler
2008-07-22 18:31 ` Peter Zijlstra
[not found] ` <1216751477.7257.115.camel__19834.5970632092$1216751567$gmane$org@twins>
2008-07-22 18:48 ` Frank Ch. Eigler
2008-07-23 15:04 ` Frank Ch. Eigler [this message]
2008-07-23 15:28 ` systemtap & backward compatibility, was Re: [RFC] systemtap: begin the process of using proper kernel APIs Arjan van de Ven
2008-07-23 15:33 ` Peter Zijlstra
2008-07-23 20:25 ` Masami Hiramatsu
[not found] ` <20080723082856.334f9c17__2909.60763018138$1216827051$gmane$org@infradead.org>
2008-07-23 16:41 ` Frank Ch. Eigler
2008-07-23 16:54 ` Adrian Bunk
2008-07-23 17:34 ` Frank Ch. Eigler
2008-07-23 18:40 ` Adrian Bunk
2008-07-23 22:12 ` Masami Hiramatsu
2008-07-18 9:11 ` [RFC] systemtap: begin the process of using proper kernel APIs (part1: use kprobe symbol_name/offset instead of address) Andi Kleen
2008-07-18 9:23 ` Peter Zijlstra
2008-07-18 10:31 ` Andi Kleen
2008-07-18 10:44 ` Peter Zijlstra
2008-07-18 10:52 ` Andi Kleen
2008-07-18 13:02 ` Frank Ch. Eigler
2008-07-18 13:07 ` Andi Kleen
2008-07-18 13:10 ` Peter Zijlstra
2008-07-18 13:28 ` Frank Ch. Eigler
2008-07-18 13:35 ` Andi Kleen
2008-07-18 13:21 ` James Bottomley
2008-07-18 13:37 ` Frank Ch. Eigler
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=20080723150434.GC11191@redhat.com \
--to=fche@redhat.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@redhat.com \
--cc=riel@redhat.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