Not logged in
Log in now
Create an account
Subscribe to LWN
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
PostgreSQL 9.3 beta: Federated databases and more
LWN.net Weekly Edition for May 9, 2013
(Nearly) full tickless operation in 3.10
Then you can say look, these are not random uses? Remember all of the push against the memleak detector stuff inkernel? It seems to have pulled it's weight already by helping find plenty of bugs.
Fun with tracepoints
Posted Aug 13, 2009 18:18 UTC (Thu) by karim (subscriber, #114)
But, hey, who are they to know, the kernel developers know better. And the hell with Sun, Apple, IBM, Microsoft, etc. who spent large gobs of money on implementing tracing infrastructure in their OSes (Apple by the way ported DTrace to MacOS ... :/ ) and maintaining it through the years. They're wrong too. The Linux kernel developers surely are better than the collective intelligence of the engineers and product managers of the aforementioned.
I forgot to mention that apart from pushing and maintaining LTT for a number of years, I also worked/defended a number of ideas which were dear to my heart. Take for example real-time. Very early on I came to the LKML pointing out that the tacit laissez-faire towards the RTLinux patent was not good for Linux. This was dismissed off-hand: the uses, I was told, were so narrow and the applications so specific that this is a non-issue ("real time apps are a niche market and they're not mainstream" ... i.e. those users don't matter). Skip a few years and there were two approaches being discussed Ingo's and the iPipe (my idea); at the subsequent OLS I asked a prominent developer whether what he thought were the chances of success of Ingo's very invasive approach, his reply was clear: Ingo has got the clout to make it happen. Just about then I knew iPipe wasn't likely to "win". And have his lunch he did.
That along with other things I witnessed (such as Con Kolivas quitting kernel development because he saw little interest in helping desktop interactivity) made me increasingly feel there's a NIH-syndrome. If nothing else, it distills from this that Linux' development has become highly politicized. You're either part of the in-crowd or you're not. And if you're not part of the in-crowd you're going to have a hell of a time trying to push something in if it's the least bit unconventional. Don't get wrong, being part of the in-crowd doesn't guarantee a radical change's acceptance. But being an outsider clearly ensures that you've got zero chances of success. It might have changed since I've stopped keeping track of it all, but juxtapose the previous with the fact that most kernel developers work for/on big iron and you've got a huge disconnect with the realities of real-life mainstream users. It's not that user preoccupations aren't eventually taken care or fixed (ex.: udev/sysfs/devfs), it's just that an absolute non-priority. And *that* is a serious issue. Last I checked, Linux has been flatlining in the end-user market for a very long time. If the diagnosis I'm making out of the symptoms I've witnessed is the least bit right (and I really hope I'm wrong), this isn't about to change any time soon.
I sincerely apologize if I've offended anyone with the above, but this is a case where *everything* ***EVERYTHING*** has been tried to convince the kernel development community. The ball is in their camp.
Posted Aug 18, 2009 18:33 UTC (Tue) by karim (subscriber, #114)
Posted Aug 18, 2009 21:40 UTC (Tue) by oak (subscriber, #2786)
I think the problem is more that individual kernel developers don't really
(need to) look at the whole system or be responsible for it, just a one
corner of it. On commercial operating systems, there are dedicated people
who look after the whole thing and need to make sure that the whole thing
works fine (and this responsibility gives them influence over the
operating system implementation to make sure that these tools get done &
If you're looking just at one or some parts of the whole system, things
like LTT (or to some extent Systemtap) that try to get an overview of
what happens in the whole system may seem too large / complex /
intrusive / bloated. "I just need this specific info from the block
layer" (or memory subsystem, or ...). And then they write their own NIH
tracing for that single thing that doesn't much benefit others, or
somebody who wants to make sense out of the whole system.
Note: I have gotten useful info both from LTT and LTTng (lttng.org) + it's
finally getting easier to apply to kernel... LTTv plays a large part in
this too as one can easily zoom into details etc.
 Systemtap seems nice, but it doesn't have the post-processing /
visualization for the whole system like LTT does. I see it more like a
tool to do more specific analysis tools. However, for this kind of stuff
it's a bit too complicated (e.g. in embedded environments where you don't
want to run stap / compile the scripts on the device itself etc), so no
wonder devs write their own tracing...
Posted Aug 19, 2009 16:18 UTC (Wed) by fuhchee (subscriber, #40059)
I see what you mean. systemtap people are working on some GUI data
graphing tools, but are just starting. (I got the impression though
that LTTV was being deprecated in favour of eclipse-based widgets,
which systemtap and other tools could feed data into also.)
However, for this kind of stuff it's a bit too complicated (e.g. in embedded environments where you don't want to run stap / compile the scripts on the device itself etc)
We hope to ease that pain by more automated cross-compilation/execution.
Posted Aug 20, 2009 19:29 UTC (Thu) by oak (subscriber, #2786)
Do you have any pointers to more information about this?
Posted Aug 20, 2009 19:32 UTC (Thu) by fuhchee (subscriber, #40059)
Posted Aug 20, 2009 19:34 UTC (Thu) by fuhchee (subscriber, #40059)
Posted Aug 20, 2009 20:58 UTC (Thu) by oak (subscriber, #2786)
"The first release, scheduled for September 2009 (code name: Vanilla),
will provide feature parity with the LTTng Viewer (LTTV) v0.12.12."
And this seemed to have a screenshot of the LTTng plugin:
This was pretty good overview of past & present tracing:
Architecture bit here was annoying:
As it assumes that one has a working user-space in problematic cases one
wants to analyze. Kernel should be able to optionally get the data out
also through some high-speed HW interface without going through user-space
and filling of the flight record buffer would better not rely on
Posted Aug 22, 2009 16:23 UTC (Sat) by compudj (subscriber, #43335)
Second, more specifically about the LTTng kernel tracer, you are right in that the current mechanism used to extract data is a splice() system call controlled by a user-space daemon. However, alternate implementations of ltt-relay-alloc.c and ltt-relay-lockless.c could easily permit to use a high-speed debug interface. This has already been done with earlier LTTng versions for ARM.
The core of the LTTng kernel tracer therefore does not depend on userland. It's only the peripheral data extraction and trace control modules which depend on working userland. But they could be replaced easily by built-in kernel objects interacting directly with the LTTng kernel API. I made sure all operations we allow from interfaces presented to user-space are also doable from within the kernel.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds