From: Arjan van de Ven <arjan@infradead.org>
To: "Frank Ch. Eigler" <fche@redhat.com>
Cc: Rik van Riel <riel@redhat.com>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
Masami Hiramatsu <mhiramat@redhat.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
systemtap@sourceware.org
Subject: Re: systemtap & backward compatibility, was Re: [RFC] systemtap: begin the process of using proper kernel APIs
Date: Wed, 23 Jul 2008 08:28:56 -0700 [thread overview]
Message-ID: <20080723082856.334f9c17@infradead.org> (raw)
In-Reply-To: <20080723150434.GC11191@redhat.com>
On Wed, 23 Jul 2008 11:04:34 -0400
"Frank Ch. Eigler" <fche@redhat.com> wrote:
> 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.
so far so good...
>
> 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.
and this is where I strongly disagree.
THIS part *has* to be in the kernel source, so that we can change it
WITH the kernel as we change it. If this means that there's some
userland .so code in the kernel source, so be it. If it means we provide
some template files that your userland fills in the blanks for, even
better. (paint-by-number kernel modules!)
But to have any chance at all of systemtap being sustainable, this part
of the stack has to be together with where the changes happen.
>
> 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.
At that point you are already 3 months too late for me, and probably
for most of my fellow kernel hackers. THIS is exactly what makes
systemtap not usable for kernel hackers, and this is exactly why you
see very little contributions from kernel hackers.
(and when it's seen it gets a rather luke warm reception, but that's a
different story).
It also means that unless I want to package and build systemtap myself,
I have to wait for my OS vendor to think about moving to the kernel I'm
on before I can use systemtap. For me as kernel developer.. that's the
second show stopper already.
> 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.
we've discussed pulling udev into the kernel source several times, and
the jury is still out on it.
But systemtap is NOT like udev or glibc or ..
it's a kernel component.. at least the part that generates the kernel
code is. it needs to breathe and move together with the kernel.
>
> I hope this fills in some of the gaps in the background.
it explains where you're coming from, which is good. However I for one
really disagree with the assumption, and i just tried to point out that
the consequences of this are rather dreadful.
--
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
next prev parent reply other threads:[~2008-07-23 15:29 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 ` systemtap & backward compatibility, was Re: [RFC] systemtap: begin the process of using proper kernel APIs Frank Ch. Eigler
2008-07-23 15:28 ` Arjan van de Ven [this message]
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=20080723082856.334f9c17@infradead.org \
--to=arjan@infradead.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=fche@redhat.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
all inboxes | Powered by JetHome®