[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1208629769.6452.23.camel@lappy>
Date: Sat, 19 Apr 2008 20:29:27 +0200
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: "Frank Ch. Eigler" <fche@...hat.com>
Cc: prasad@...ux.vnet.ibm.com, linux-kernel@...r.kernel.org,
tglx@...utronix.de, mingo@...e.hu, mathieu.desnoyers@...ymtl.ca
Subject: Re: [RFC PATCH 1/2] Marker probes in futex.c
On Sat, 2008-04-19 at 14:03 -0400, Frank Ch. Eigler wrote:
> Hi -
>
> On Sat, Apr 19, 2008 at 04:52:26PM +0200, Peter Zijlstra wrote:
> > > It's not just that - it's a whole package including easy creation of
> > > new markers, the code that manages their activation and deactivation,
> > > the tool code that connects up to receive new events *and parameters*.
> > > [...]
> > I'm thinking the two use-cases are confused here. So we have
> >
> > a) permanent markers
> > b) ad-hoc debug markers
>
> OTOH I think this is a false dichotomy. Debugging is not only done by
> a subsystem maintainer during the merge/rc period. When something
> goes wrong on a deployed machine, problem diagnosis requires data,
> which ideally should be gathered as non-intrusively as possible - that
> means no recompiling / rebooting, and ideally very little slowdown.
>
> I bet that many of those markers you might consider "ad-hoc" would in
> fact have some post-release diagnostic value. Now, maybe in the case
> of futexes, the kernel makes no sophisticated decisions that may need
> subsequent review. Maybe all the internals are directly calculable
> from the results visible at the system call level (which threads block
> and which return). But this is certainly not so for many other parts
> of the kernel.
>
> With markers, you don't have to make this an agonizing decision. You
> just insert markers, regardless of whether it's high-level, universal,
> "permanent"; or whether it's low-level, diagnostic, temporary. The
> same consumer tools will work for them all.
This again tries into the argument about not making markers depend on
the code structure or implementation details.
I'm really wanting to avoid ever having to be obstructed by a marker. So
any marker that does not represent a solid high level event (to take
Mathieu's example: a context switch is a context switch, and we'll
always have one) I'm not comfortable with merging that upstream.
So even though these ad-hoc markers might have some diagnostic value -
I'll never support merging them. If a customer might have some issue I
can hand him a custom kernel with these markers added in - I see
absolutely no reason to burden upstream with these.
So we _do_ have to make this decision; some shite should just not be
merged but be kept separate.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists