Re: tracepoint maintainance models

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

* Mathieu Desnoyers <[email protected]> wrote:

> * Ingo Molnar ([email protected]) wrote:
> > Karim, i dont usually reply if you insult me (and you've grown a habit 
> > of that lately ), but this one is almost parodic. To understand my 
> > point, please consider this simple example of a static in-source markup, 
> > to be used by a dynamic tracer:
> > 
> >   static int x;
> > 
> >   void func(int a)
> >   {
> >        ...
> >        MARK(event, a);
> >        ...
> >   }
> > 
> > if a dynamic tracer installs a probe into that MARK() spot, it will have 
> > access to 'a', but it can also have access to 'x'. While a static 
> > in-source markup for _static tracers_, if it also wanted to have the 'x' 
> > information, would also have to add 'x' as a parameter:
> > 
> > 	MARK(event, a, x);
> > 
> 
> Hi,
>
> If I may, if nothing marks the interest of the tracer in the "x" 
> variable, what happens when a kernel guru changes it for y (because it 
> looks a lot better). The code will not compile anymore when the markup 
> marks the interest for x, when your "dynamic tracer" markup will 
> simply fail to find the information. My point is that the markup of 
> the interesting variables should follow code changes, otherwise it 
> will have to be constantly updated elsewhere (hmm ? Documentation/ 
> someone ?)

yeah - but it shows (as you have now recognized it too) that even static 
markup for dynamic tracers _can_ be fundamentally different, just 
because dynamic tracers have access to information that static tracers 
dont.

(Karim still disputes it, and he is still wrong.)

> I would say that not marking a static variable just because it is less 
> visually intrusive is a not such a good thing to do. That's not 
> because we *can* that we *should*.

yeah. But obviously the (small but present) performance advantage is 
there too, so it shouldnt be rejected out of hand. If a parameter is not 
mentioned then it does not have to be prepared for function paramter 
passing, etc. So it's 1-2 instructions less. So if this is in some 
really stable area of code then it's a valid optimization.

	Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux