public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Roland McGrath <roland@redhat.com>
Cc: "Frank Ch. Eigler" <fche@redhat.com>,
		ksummit-2008-discuss@lists.linux-foundation.org,
		systemtap@sources.redhat.com
Subject: Re: [Ksummit-2008-discuss] DTrace
Date: Tue, 01 Jul 2008 23:13:00 -0000	[thread overview]
Message-ID: <20080701231327.GA5829@mit.edu> (raw)
In-Reply-To: <20080701200632.6790A1541F5@magilla.localdomain>

On Tue, Jul 01, 2008 at 01:06:32PM -0700, Roland McGrath wrote:
> Like I said, the essential command is eu-strip -f.  It is simple to use.
> 
> For one's own local hacking purposes, there is no real reason to bother
> with strip-to-file complexities.  You can just copy the unstripped files
> before stripping them.  The effect is the same (or easier for you, with
> most of the tools), and the extra 6M (stripped) where you have disk space
> for the 60M (debuginfo) is never an issue (i.e. if it's 66M unstripped).

Well, actually, it *does* matter, at least to me.  Sometimes when I am
trying to track down a problem, either using git-bisect or evaluating
multiple patches, I might have five, six, seven, eight or more kernels
installed.  And on a number of my systems, the amount of space on the
parititons where /boot and /lib live can't take the space demands of
compiling the kernel and modules with -g.

And remember, for the average kernel developer, the question is
whether using SystemTap is easier than inserting a bunch of printk's
and recompiling.  And one of the major flaws of the Linux's RAS tools
is that the LKML development community doesn't use them; and to the
extent that tapsets would be written more quickly if they are easy for
kernel developers who aren't depending on distro packaging and distro
building of systemtap.  (Especially if systemtap is so fast moving
that people shouldn't depend on stable releases but rather the git
repository or weekly automated snapshots.)  So actually, being able to
install stripped modules and vmlinux into /boot and /linux, and then
being able to put the unstripped binaries somewhere else, without
having to use the !@#@! complicated RPM macros by Fedora/RHEL is
actually **very** important to me.

I don't know how many people considered that a showstopper; but James
mentioned on another thread that figuring out the magic, undocumanted
--enable-staticdw flag hit him as well.  Yes, I know that's been fixed
as of last Friday in the git repository, but again, it's these little
things that cause people to throw up their hands in frustration and
say, "Eh!  I'll just use printk's and recompilations instead; it's
easier."

In the past two years, I've on average tried Systemtap every 9 months
or so, and each time, I'd hit a different annoying roadblock, and then
I was so busy I would move on to a more productive way of solving my
problems.  And I've asked various different Systemtap developers and
architects (mostly inside IBM), and I'd get the same answers that
Ulrich spouted just recently on this list.  "Tapsets?  Yeah, we're
depending on kernel subsystem experts to write them; we don't know how
to get inside the internals of the various subsystems."  "Building it?
Stable releases?  That's a distro problem; just use what your distro
uses."  "Ooooh, sorry, that's an ancient version of Systemtap, blame
your distro provider for doing a sucky job."  And my reaction each
time was, "OK, back to printk debugging; and if you want me to write
tapsets for you, you're in fantasy land."

So I think this issue is very much a potential topic for the kernel
summit, namely --- why is it that so few kernel developers are using
RAS tools like Systemtap, and what can be done to improve this
situation?  Or if the Systemtap team doesn't need any help, and can
write all of these tapsets without kernel developer's participation,
or maybe assume that System administrators can write Systemtap scripts
that do things like:

probe kernel.function ("vfs_write"),
      kernel.function ("vfs_read")
{
  dev_nr = $file->f_dentry->d_inode->i_sb->s_dev
  inode_nr = $file->f_dentry->d_inode->i_ino

  if (dev_nr == ($1 << 20 | $2) # major/minor device
      && inode_nr == $3)
    printf ("%s(%d) %s 0x%x/%u\n",
      execname(), pid(), probefunc(), dev_nr, inode_nr)
}

and still be a credible competition to the audience served by DTrace,
hey, knock yourself out.  But I think there may be a connection
between problems which Systemtap developers seem to continually assert
a Sombody Else's Problem field around, and the lack of uptake by the
LKML community.  Maybe.  Just a guess on my part.

						- Ted

  reply	other threads:[~2008-07-01 23:13 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-30 13:57 DTrace Frank Ch. Eigler
2008-06-30 19:00 ` [Ksummit-2008-discuss] DTrace Grant Grundler
2008-06-30 19:40 ` Theodore Tso
2008-06-30 20:00   ` Frank Ch. Eigler
2008-06-30 20:19     ` Theodore Tso
2008-06-30 21:12       ` Arnaldo Carvalho de Melo
2008-06-30 23:02         ` David Miller
2008-06-30 21:13       ` James Bottomley
2008-06-30 22:10       ` Frank Ch. Eigler
2008-07-01  2:42         ` Theodore Tso
2008-07-01  7:08           ` Roland McGrath
2008-07-01 10:15             ` Theodore Tso
2008-07-01 11:04               ` Sam Ravnborg
2008-07-01 12:13                 ` Theodore Tso
2008-07-02 20:27                   ` Sam Ravnborg
2008-07-01 20:06               ` Roland McGrath
2008-07-01 23:13                 ` Theodore Tso [this message]
2008-07-02  2:23                   ` Frank Ch. Eigler
2008-07-02 19:27                   ` Frank Ch. Eigler
2008-07-02 21:40                     ` Potential Systemtap topics for the Kernel Summit Theodore Tso
2008-07-02 21:51                       ` [Ksummit-2008-discuss] " Jonathan Corbet
2008-07-02 23:41                         ` Arnaldo Carvalho de Melo
2008-07-02 22:38                       ` Masami Hiramatsu
2008-07-02 22:54                       ` [Ksummit-2008-discuss] " Stephen Hemminger
2008-07-03  0:44                         ` Ulrich Drepper
2008-07-03  1:02                           ` H. Peter Anvin
2008-07-03  1:50                             ` Theodore Tso
2008-07-03  1:51                             ` Ulrich Drepper
2008-07-02 20:08                   ` [Ksummit-2008-discuss] DTrace Joel Becker
2008-07-02 20:17                     ` J. Bruce Fields
2008-07-02 20:41                       ` Frank Ch. Eigler
2008-07-02 21:19                       ` H. Peter Anvin
2008-07-02 21:30                       ` Theodore Tso
2008-07-02 21:46                         ` J. Bruce Fields
2008-07-05  9:46                   ` Peter Zijlstra
2008-07-05 10:07                     ` Christoph Hellwig
2008-07-05 12:12                       ` Frank Ch. Eigler
2008-07-05 18:08                         ` Christoph Hellwig
2008-07-05 13:50                       ` James Bottomley
2008-07-05 18:08                         ` Christoph Hellwig
2008-07-05 18:05                       ` K.Prasad
2008-07-07 14:36                         ` Christoph Hellwig
2008-07-07 17:44                           ` K.Prasad
2008-07-05 12:34                     ` Theodore Tso
2008-07-01  5:29   ` Ananth N Mavinakayanahalli
2008-06-30 19:59 ` James Bottomley
2008-06-30 23:52   ` Masami Hiramatsu
2008-07-08 23:32   ` Eric W. Biederman
     [not found] <20080627150424.GB14894@parisc-linux.org>
     [not found] ` <1214580213.3394.40.camel@localhost.localdomain>
     [not found]   ` <20080627155018.GC14894@parisc-linux.org>
     [not found]     ` <1214583502.7698.15.camel@weaponx>
     [not found]       ` <20080627163056.GB1416@lst.de>
     [not found]         ` <20080628072605.GA505@in.ibm.com>
     [not found]           ` <20080629084002.GA24131@lst.de>
     [not found]             ` <20080630051034.GA4970@in.ibm.com>
     [not found]               ` <20080630112913.GA18817@lst.de>
2008-06-30 19:27                 ` Frank Ch. Eigler
2008-07-01  1:21                   ` Jim Keniston
     [not found]                   ` <20080706123414.GA9265@lst.de>
2008-07-06 15:47                     ` Frank Ch. Eigler
2008-07-06 16:36                       ` Evgeniy Polyakov
2008-07-06 18:05                         ` Frank Ch. Eigler
2008-07-06 18:24                           ` Evgeniy Polyakov
2008-07-06 21:46                             ` Frank Ch. Eigler
2008-07-06 22:47                               ` Karen Shaeffer
2008-07-06 23:15                                 ` Frank Ch. Eigler
2008-07-07  5:59                               ` Evgeniy Polyakov
2008-07-07 11:19                                 ` Frank Ch. Eigler
     [not found]   ` <20080627182754.GB7549@mit.edu>
     [not found]     ` <1214597135.3394.82.camel@localhost.localdomain>
     [not found]       ` <aday74qlh08.fsf@cisco.com>
     [not found]         ` <4865B111.2040307@redhat.com>
     [not found]           ` <adavdzujh2u.fsf@cisco.com>
     [not found]             ` <20080704200055.GA11232@synapse.neuralscape.com>
     [not found]               ` <20080704224424.GA12454@synapse.neuralscape.com>
     [not found]                 ` <1215273663.3439.34.camel@localhost.localdomain>
2008-07-06 23:33                   ` Frank Ch. Eigler
2008-07-07 14:35                     ` James Bottomley
2008-07-07 15:02                     ` James Bottomley

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=20080701231327.GA5829@mit.edu \
    --to=tytso@mit.edu \
    --cc=fche@redhat.com \
    --cc=ksummit-2008-discuss@lists.linux-foundation.org \
    --cc=roland@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).