Re: [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108

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

 



Mathieu Desnoyers wrote:
* Jose R. Santos ([email protected]) wrote:
> Alan Cox wrote:
> > With several other trace tools being implemented for the kernel, there > is a great problem with consistencies among these tool. It is my > opinion that trace are of very little use to _most_ people with out the > availability of post-processing tools to analyses these trace. While I > wont say that we need one all powerful solution, it would be good if all > solutions would at least be able to talk to the same post-processing > facilities in user-space. Before LTTng is even considered into the > kernel, there need to be discussion to determine if the trace mechanism > being propose is suitable for all people interested in doing trace > analysis. The fact the there also exist tool like LKET and LKST seem to > suggest that there other things to be considered when it comes to > implementing a trace mechanism that everyone would be happy with. > > It would also be useful for all the trace tool to implement the same > probe points so that post-processing tools can be interchanged between > the various trace implementations. > >
Hi Jose,

I completely agree that there is a crying need for standardisation there. The
reason why I propose the LTTng infrastructure as a tracing core in the Linux
kernel is this : the fundamental problem I have found with kernel tracers so
far is that they perturb the system too much or do not offer enough fine
grained protection against reentrancy. Ingo's post about tracing statement
breaking the kernel all the time seems to me like a sufficient proof that this
is a real problem.

I agree with your goal for ltt.

My goal with LTTng is to provide a reentrant data serialisation mechanism that
can be called from anywhere in the kernel (ok, the vmalloc path of the page
fault handler is _the_ exception) that does not use any lock and can therefore
trace code paths like NMI handlers.

One of the things that I've notice from this thread that neither you or Karim sees to have answer is why is LTTng needed if a suitable replacement can be developed using SystemTap with static markers. I am personally interested in this answer as well. If all the things that LTT is proposing can be implemented in SystemTap, what then is the advantage of accenting such an interface into the kernel.

I don't really care which method is used as long as its the right tool for the job. I see several idea from LTT that could be integrated into SystemTap in order to make it a one stop solution for both dynamic and static tracing. Would you care to elaborate why you think having separate projects is a better solution?
I also implemented code that would serialize any type of data structure I could
think of. If it is too much, well, we can use part of it.

LTTng trace format is explained there. Your comments on it are very welcome.

http://ltt.polymtl.ca/ > LTTV and LTTng developer documentation > format.html
(http://ltt.polymtl.ca/svn/ltt/branches/poly/doc/developer/format.html)

Trace event headers are very similar between both LTT and LKET which is good in other to get some synergy between our projects. One thing that LKET has on each trace event that LTT doesn't is the tid and CPU id of each event. We find this extremely useful for post-processing. Also, why have the event_size on every event taken? Why not describe the event during the trace header and remove this redundant information from the event header and save some trace file space.

-JRS
-
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