mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Christoph Hellwig <hch@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
	Tom Zanussi <tzanussi@gmail.com>,
	linux-kernel@vger.kernel.org, rostedt@goodmis.org,
	lizf@cn.fujitsu.com
Subject: Re: [PATCH 2/3] perf trace: Update eval_flag() flags array to match interrupt.h
Date: Fri, 16 Oct 2009 10:47:45 +0200	[thread overview]
Message-ID: <20091016084745.GB11174@elte.hu> (raw)
In-Reply-To: <20091011122129.GA16701@infradead.org>


* Christoph Hellwig <hch@infradead.org> wrote:

> On Sun, Oct 11, 2009 at 10:53:45AM +0200, Ingo Molnar wrote:
> > And you were full of it back then and you are full of it now as well.
> 
> Beeing nice today, eh? :)

Yeah, being reciprocal to you ;-)

> > Of course tools/perf/ can be dependent on the kernel source, as long 
> > as it's all exposed cleanly. Runtime exposure of information is 
> > better of course in many cases, but there's a balance to be 
> > stricken.
> > 
> > We already have deep and good dependencies between kernel code and 
> > tools/perf: for example we use the kernel's list.h and lib/rbtree.c 
> > in perf and those facilities are God-sent over user-space crap that 
> > for example Glist is.
> 
> Re-using code is no problem at all.  If you look at typical lowlevel 
> userspace code written by kernel developers you'll notice that they 
> usually use the kernel data structures, too.  And yeah, glib is quite 
> horrible.
> 
> The problem is run-time depdency on the kernel it was built with.  
> It's not practival or desirable to have one perf binary per kernel 
> version.

But we release a new version of perf per kernel release. So we have a 
perf binary per kernel release _already_.

Yes, it's good to avoid coupling but it's not nearly as much of a 
problem as you make it out to be. You seem to argue in favor of some 
sort of inflexible, rigid cage for instrumentation apps and that's 
simply the wrong mindset. That kind of rigidity and isolation kept Linux 
instrumentation poor for a decade to begin with.

> > I tend to agree that softirq names might make sense to expose 
> > runtime as well, but that is totally independent of your _idiotic_ 
> > argument that this issue somehow talks against perf being part of 
> > the kernel source.
> 
> It is directly related.  If you ship perf as part of the kernel source 
> these kinds of thing slip in easily, just because people don't think 
> about it enough.  If you have a separate source tree it's much more 
> clear that you can't depend on internal implementation details.

Exactly where is the problem? You say things like 'bad' and 'mess', 
without actually articulating a single practical disadvantage.

Sure if you go back to an old kernel with new instrumentation binary you 
might get the wrong softirq names. It doesnt really matter in practice: 
'perf' can be built in any past kernel and can be used there.

Fact is, using information from the kernel source has its clear 
advantages. There's lots of details we dont want to guarantee in the ABI 
sense yet. Amongst them are the softirq names. They get changed all the 
time and softirqs might even go away entirely. It's good for tools to 
have _some_ notion about them - but to guarantee it until eternity? No 
way is that an unconditionally good thing.

	Ingo

  reply	other threads:[~2009-10-16  8:48 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-06  6:00 [PATCH 0/3] a few tracing bugfixes Tom Zanussi
2009-10-06  6:00 ` [PATCH 1/3] perf trace: Remove unused code in builtin-trace.c Tom Zanussi
2009-10-06 12:16   ` [tip:perf/urgent] " tip-bot for Tom Zanussi
2009-10-06  6:00 ` [PATCH 2/3] perf trace: Update eval_flag() flags array to match interrupt.h Tom Zanussi
2009-10-06 12:16   ` [tip:perf/urgent] " tip-bot for Tom Zanussi
2009-10-06 13:27   ` [PATCH 2/3] " Christoph Hellwig
2009-10-06 15:19     ` Frederic Weisbecker
2009-10-06 15:21       ` Christoph Hellwig
2009-10-06 15:22         ` Frederic Weisbecker
2009-10-06 15:24           ` Christoph Hellwig
2009-10-06 21:42             ` Frederic Weisbecker
2009-10-07  1:17               ` Steven Rostedt
2009-10-06 15:25           ` Frederic Weisbecker
2009-10-11  8:53         ` Ingo Molnar
2009-10-11 12:21           ` Christoph Hellwig
2009-10-16  8:47             ` Ingo Molnar [this message]
2009-10-06  6:00 ` [PATCH 3/3] tracing/syscalls: Use long for syscall ret format and field definitions Tom Zanussi
2009-10-06  7:15   ` Frédéric Weisbecker
2009-10-07  3:59     ` Tom Zanussi
2009-10-06 12:17   ` [tip:perf/urgent] " tip-bot for Tom Zanussi
2009-10-06  7:16 ` [PATCH 0/3] a few tracing bugfixes Frédéric Weisbecker

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=20091016084745.GB11174@elte.hu \
    --to=mingo@elte.hu \
    --cc=fweisbec@gmail.com \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=rostedt@goodmis.org \
    --cc=tzanussi@gmail.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

all inboxes | Powered by JetHome®