LWN: Comments on "On DTrace envy" https://lwn.net/Articles/244536/ This is a special feed containing comments posted to the individual LWN article titled "On DTrace envy". en-us Mon, 22 Sep 2025 00:23:35 +0000 Mon, 22 Sep 2025 00:23:35 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Be careful of the implicit context https://lwn.net/Articles/272078/ https://lwn.net/Articles/272078/ oak <div class="FormattedComment"><pre> IOgrind has been released a while ago. Its advantage over live system profiling is that the results are deterministic whereas live system performance measurements can (according to Meeks) differ as much as 10% (on Linux) from run to run. On a properly designed system, you don't (anymore) find that large bottlenecks, they are smaller. If the bottlenecks are larger, I would assume one could catch them even with strace (just strace all applicable processes at the same time). </pre></div> Thu, 06 Mar 2008 20:41:27 +0000 Be careful of the implicit context https://lwn.net/Articles/247303/ https://lwn.net/Articles/247303/ renox Sorry but 'can be done' is very different from 'can be done usefully' i.e. with DTrace a sysadmin can do the disk profile on a live production system, AFAIK Valgrind cannot do this..<br> <p> Note that I'm not criticising Valgrind which is a very useful tool, just that the great selling point of DTrace is that it can do systemic tracing on live production system, so sure you can do many things with CPU simulators but it's quite out of topic/context..<br> Wed, 29 Aug 2007 20:18:29 +0000 On DTrace envy https://lwn.net/Articles/247301/ https://lwn.net/Articles/247301/ renox <font class="QuotedText">&gt; Follow AHL's recipe (see his blog, linked to several times in this article)</font><br> <p> Well AHL's "recipe" is the one followed by FreeBSD I think to use DTrace and they won't integrate DTrace in FreeBSDv7 because some of them have doubts about the legality of linking BSD code with CDDL headers.<br> <p> The issue would be of course the same for the Linux kernel.<br> <p> Is the legal issue real or not? Some say yes, some say no, I have really no clue..<br> <p> Hopefully this legal mess will be cleared at some point, otherwise maybe Sun could relicense just the header under the BSD license to clear this mess once for all?<br> <p> <p> Wed, 29 Aug 2007 20:06:03 +0000 Very, very experimental Perl DTrace support https://lwn.net/Articles/245736/ https://lwn.net/Articles/245736/ richdawe Alan Burlison from Sun wrote some experimental support for DTrace in Perl and blogged about it at &lt;<a href="http://blogs.sun.com/alanbur/entry/dtrace_and_perl">http://blogs.sun.com/alanbur/entry/dtrace_and_perl</a>&gt;. I've reproduced his work -- I have a patch &lt;<a href="http://rich.phekda.org/perl-dtrace/">http://rich.phekda.org/perl-dtrace/</a>&gt;, which needs some more work.<br> Thu, 16 Aug 2007 08:39:20 +0000 Please don't misquote https://lwn.net/Articles/245281/ https://lwn.net/Articles/245281/ felixfix Your credibility in this argument just took a big dive. fuhchee said "almost all of the interesting data" and you left out the "almost", which changes the meaning considerably. Besides which, you yourself say "much investigation does indeed start with probes from SDT- and USDT-provided probes -- but it often finishes with probes from fbt and pid" which certainly implies that a majority of investigations begin with SDT and USDT, which also implies that SDT and USDT are "more" used than anything else. Maybe "almost all" is an exageration of "most", but leaving out the "almost" is a misquote twisting his words to match your thoughts.<br> Sun, 12 Aug 2007 18:49:02 +0000 dtrace clone https://lwn.net/Articles/245263/ https://lwn.net/Articles/245263/ man_ls As you probably know, any non-trivial piece of code probably infringes on a lot of patents. That hasn't stopped kernel developers from improving the kernel, and rightly so. Maybe the situation with specific patents is different. Sun, 12 Aug 2007 12:13:21 +0000 dtrace clone https://lwn.net/Articles/245231/ https://lwn.net/Articles/245231/ dlang please name anything in the kernel that has been put in if there is any doubt about the legality of it.<br> <p> the license and patent status of dtrace is very much a reason for it not being considered (in fact, due to these issues most of the kernel developers don't even look at it to avoid any accusations of them being tainted)<br> Sat, 11 Aug 2007 22:09:41 +0000 dtrace clone https://lwn.net/Articles/245224/ https://lwn.net/Articles/245224/ fuhchee <font class="QuotedText">&gt; Merging upstream has to be done with SystemTap too.</font><br> <p> Not as much as one might think. Systemtap relies only on existing<br> externalized kernel interfaces and hooks - no changes just on our<br> account. That's not to say it wouldn't be nice to get some extra<br> interfaces/hooks, or to offload some version drift maintenance to other<br> folks. It means that we can work toward their development and upstream<br> inclusion gradually, without blocking the rest of the work.<br> <p> Sat, 11 Aug 2007 20:53:02 +0000 DTrace real port https://lwn.net/Articles/245181/ https://lwn.net/Articles/245181/ man_ls Is there any specific problem you see with this approach? Not that it is an easy task, but after all there is a working implementation with source code to study. It would probably be easier than working around the limitations you people have exposed in SystemTap, wouldn't it? Fri, 10 Aug 2007 23:13:21 +0000 dtrace clone https://lwn.net/Articles/245180/ https://lwn.net/Articles/245180/ man_ls Merging upstream has to be done with SystemTap too. Is there any reason why it would be harder with a dtrace clone? <p> And patent trouble has not stopped kernel developers before... Fri, 10 Aug 2007 23:09:18 +0000 On DTrace envy https://lwn.net/Articles/245157/ https://lwn.net/Articles/245157/ oak <font class="QuotedText">&gt; Right now on Linux there is no way to take an app and profile its disk </font><br> seeks in the same way that oprofile lets us profile its i-cache misses;<br> <p> Disk seeks can already be done, just not at the kernel side (what's cached <br> and what's not). There was a demonstration in GUADEC 2007 about a new <br> (yet to be released) Valgrind extension which catches both file accesses <br> (open etc) AND accesses to memory mapped files. As Valgrind is a CPU <br> simulator, it can catch these. You can then have another tool that maps <br> these file/mmap accesses to the actual disk geometry. There was also UI <br> for visualizing this.<br> <p> Fri, 10 Aug 2007 19:08:08 +0000 dtrace clone https://lwn.net/Articles/245099/ https://lwn.net/Articles/245099/ fuhchee There are several obstacles. Rewriting the code is a relatively small part. Merging upstream is huge and controversial. There may also be legal (patent) barriers.<br> Fri, 10 Aug 2007 14:48:03 +0000 On DTrace envy https://lwn.net/Articles/244997/ https://lwn.net/Articles/244997/ bfields <blockquote>I wonder if Linus et al. would object to hooks for an open source component, and, if they did, what the grounds for those objections would be.</blockquote> <p>That sort of thing has always met a lot of resistance. Currently any in-kernel API can be changed as long as you take care to fix up all the in-tree users. Obviously that makes certain kinds of changes much easier. And having in-tree users for API's makes those API's easier to understand and maintain. Thu, 09 Aug 2007 19:55:49 +0000 DTrace real port https://lwn.net/Articles/244933/ https://lwn.net/Articles/244933/ bcantrill Good luck with that.<br> Thu, 09 Aug 2007 15:47:27 +0000 On DTrace envy https://lwn.net/Articles/244898/ https://lwn.net/Articles/244898/ paulj <p>I don't want to sound too humbugish about attribution, but that was <i>my</i> point with <i>"(remember, they're both free software licences)"</i> from my point b) (get linux devs to agree CDDLed Dtrace modules are ok). Any points about potential odd-standards are implied in that (particularly as I had already referred to proprietary modules earlier in my post, highlighted in bold too to make it obvious..). </p><p> :) </p> Thu, 09 Aug 2007 11:47:40 +0000 DTrace real port https://lwn.net/Articles/244883/ https://lwn.net/Articles/244883/ man_ls I'm surprised that nobody has asked the question, so it is probably an obvious stupidity. Anyway there it goes. <p> Why bother to port? Why not reimplement <i>everything</i> (including the kernel modules) and put it under GPLv2? Building a compatible implementation shouldn't require that much effort, even to the point where DTrace scripts can be shared (that is, those which are not too tightly coupled to Solaris internals). Thu, 09 Aug 2007 10:25:23 +0000 Drag-n-drop DTrace into Linux Kernel? https://lwn.net/Articles/244880/ https://lwn.net/Articles/244880/ nsoranzo <font class="QuotedText">&gt; There was some talk this past spring that Sun was looking at GPLv3 as a worthy successor for or alternative to CDDL. If Sun really does relicense OpenSolaris (and hence XFS and DTrace) under GPLv3 (or dual license it)</font><br> <p> Obviously you mean ZFS, not XFS...<br> <p> Nicola<br> <p> Thu, 09 Aug 2007 08:59:36 +0000 On DTrace envy https://lwn.net/Articles/244849/ https://lwn.net/Articles/244849/ lysse What he said.<br> Thu, 09 Aug 2007 01:58:47 +0000 On DTrace envy https://lwn.net/Articles/244825/ https://lwn.net/Articles/244825/ madscientist You're right, I misspoke. I wonder about ahl's point as well: is the Linux devs' position that they shouldn't create special hooks for code that is not GPL-compatible, and hence stands no chance of ever being integrated with the mainline kernel? Or is it only binary blobs they don't like? They really push hard the goal of getting everything promoted up to the mainline kernel.<br> <p> Of course if it's the case that the in-kernel hooks can be made generic between SystemTap (et.al.) and DTrace, then it doesn't matter anyway.<br> Wed, 08 Aug 2007 21:30:34 +0000 Drag-n-drop DTrace into Linux Kernel? https://lwn.net/Articles/244817/ https://lwn.net/Articles/244817/ khim <p><i>Does there seem to be any indications that this could happen sometime in the future?</i></p> <p>Today there are no need for this: the parts of DTrace which can be easily lifted are already reimplemented in SystemTap, the stuff that remains is important, but tied to Solaris too tightly to be easily lifted...</p> Wed, 08 Aug 2007 20:22:37 +0000 On DTrace envy https://lwn.net/Articles/244808/ https://lwn.net/Articles/244808/ ahl That's a very interesting point. I wonder if Linus et al. would object to hooks for an <em>open source</em> component, and, if they did, what the grounds for those objections would be. Wed, 08 Aug 2007 19:30:57 +0000 On DTrace envy https://lwn.net/Articles/244798/ https://lwn.net/Articles/244798/ JoeBuck In this case, that's not the purpose; DTrace is free software, not proprietary software, even though the license isn't compatible. Furthermore SystemTap could use the same hooks. Wed, 08 Aug 2007 17:28:14 +0000 Drag-n-drop DTrace into Linux Kernel? https://lwn.net/Articles/244795/ https://lwn.net/Articles/244795/ madscientist A really interesting twist to this would be GPLv3.<br> <p> There was some talk this past spring that Sun was looking at GPLv3 as a worthy successor for or alternative to CDDL. If Sun really does relicense OpenSolaris (and hence XFS and DTrace) under GPLv3 (or dual license it), I wonder if that's the "killer app" that would get the Linux kernel devs to re-examine the GPLv2 / GPLv3 issue. The buzz is that Linus and Co. are not as disdainful of the final GPLv3 draft as they were of some earlier versions, but that the effort involved with relicensing was widely seen as a waste of time with no real benefit.<br> <p> Personally I doubt it would change anything on the Linux side; the people who would have to make this decision and do much of the work don't really seem to care much about DTrace (at least).<br> Wed, 08 Aug 2007 17:17:50 +0000 On DTrace envy https://lwn.net/Articles/244783/ https://lwn.net/Articles/244783/ madscientist <font class="QuotedText">&gt; That gets you GPLed reimplementation of certain DTrace bits for the linux</font><br> <font class="QuotedText">&gt; kernel (perfectly redistributable)</font><br> <p> While it is redistributable, I should point out that as described there's very little chance that those changes will ever be accepted into the mainline kernel. Linus et.al. have a long standing, and firm, position that no code will be accepted (even if it's perfectly legal GPL code) into the mainline kernel if its only purpose is to enable proprietary modules of one sort or another.<br> <p> Of course, there's no reason why individual distributors like Red Hat, SuSE, Debian, etc. couldn't apply that patch themselves to their kernel packages, but this becomes a pain.<br> <p> Of course, another option would be for the DTrace port to use existing, generic kernel facilities or, if none such exist, work on getting them added. This would be a lot more work, I expect.<br> Wed, 08 Aug 2007 17:12:02 +0000 On DTrace envy https://lwn.net/Articles/244740/ https://lwn.net/Articles/244740/ paulj "If the bulk of Linux devs of significance do so, then the problem is solved."<br> <p> Hmm, I should re-state that, as in the above form it allows for possibly morally-bankrupt situations (e.g. some developers objecting, but who do not have resources to take action), which wasn't my intention. So:<br> <p> "If no Linux kernel developers object, then there is no problem".<br> <p> Wed, 08 Aug 2007 13:32:55 +0000 static probes https://lwn.net/Articles/244738/ https://lwn.net/Articles/244738/ cajal I was responding to the original article's claim that "SystemTap, instead, does not depend on static probe points within the kernel". That claim implies that DTrace depends on static probe points in the kernel. I was only trying to point out that DTrace provides both dynamic and static trace points (since, as Bryan points out, both are needed).<br> Wed, 08 Aug 2007 13:22:07 +0000 On DTrace envy https://lwn.net/Articles/244737/ https://lwn.net/Articles/244737/ paulj <p><i>DTrace is licenced under the CDDL, the Linux kernel is licenced under the GPLv2. Those two licences are incompatible, so any wholesale lifting of DTrace into Linux would give you a result which is (legally) undistributable.</i> </p><p> It's pretty simple. </p><p> a) Follow AHL's recipe (see his blog, linked to several times in this article) </p><p> That gets you GPLed reimplementation of certain DTrace bits for the linux kernel (perfectly redistributable) and CDDLed DTrace bits for the linux kernel (which a user is perfectly entitled to download and combine together with the GPLed bits - many Linux users already have long availed of this right to download and install completely <b>proprietary</b> Linux modules from their distributions repositories). </p><p> For 100%-shiny-white redistribution, you need: </p><p> b) Linux kernel developers to state they're fine with redistribution of CDDLed Linux kernel modules together with GPLed kernel and/or modules (remember, they're both free software licences). </p><p> If the bulk of Linux devs of significance do so, then the problem is solved. </p> Wed, 08 Aug 2007 13:07:30 +0000 On DTrace envy https://lwn.net/Articles/244724/ https://lwn.net/Articles/244724/ njs I don't understand this. The "predefined trace points" that DTrace provides are things like "thread blocked waiting on IO", "thread resumed after waiting on IO", "cpu went idle", "module was loaded", "page was swapped out". Sure Linux changes really fast, but... is it going to stop having threads that block on IO, cpus that go idle, modules that get loaded, and pages that get swapped out? Of course there is some work in maintaining high-level trace points like these as the actual code implementing the high-level events changes, but I don't see how it's an unreasonable amount of work, given the benefits.<br> <p> Right now on Linux there is no way to take an app and profile its disk seeks in the same way that oprofile lets us profile its i-cache misses; on Solaris dtrace makes it trivial, including userspace stack traces (another oprofile feature, so still a fair comparison).<br> Wed, 08 Aug 2007 08:20:00 +0000 static probes https://lwn.net/Articles/244721/ https://lwn.net/Articles/244721/ njs Not the interrupt the Flame-War of the Titans, but...<br> <p> When Frank sez "almost all of the interesting data that is gathered comes from providers other than fbt", I don't think he's saying "no-one ever uses fbt". (Nor is he trying to estimate total number of in-production probe hits on different providers or anything like that.) He's replying to a claim that static probes are irrelevant, or uninteresting, or at least not as important as the original article claimed. Maybe cajal didn't mean his comment that way, but it certainly can be read that way.<br> <p> Based on that, to me it basically sounds like Frank is saying "static providers are critical to dtrace's usability in practice", and you're saying "no, no, static providers are only critical to do initial investigation of problems so you can figure out how to deploy the other parts of dtrace". These are not exactly contradictory statements. I can't imagine trying to do anything with dtrace without relying on proc, sched, io, even if I used fbt and pid too.<br> <p> So cajal's comment does seem a bit misleading, and it seems fair to correct that part of it.<br> <p> (FTR, I haven't used dtrace either, just envied it intensely.)<br> Wed, 08 Aug 2007 08:06:56 +0000 On DTrace envy https://lwn.net/Articles/244719/ https://lwn.net/Articles/244719/ comay <i>whose pace of development is as glacial as Solaris's is.</i> <p> Although I'm sure the number of commits into the Linux kernel source base is larger than that of OpenSolaris, to call the pace of development of OpenSolaris "glacial" is misleading. Have you taken a <a rel="nofollow" href="http://mail.opensolaris.org/pipermail/onnv-notify/">look</a> at the commits going into the OS/Net consolidation to see the changes taking place? <p> Of course, it might be interesting to break down the reason for all of the various commits taking place in both projects. How many are new features and other enhancements? How many are due to earlier changes introducing a regression or not being complete? Wed, 08 Aug 2007 04:49:39 +0000 On DTrace envy https://lwn.net/Articles/244711/ https://lwn.net/Articles/244711/ bgregg <ul><i>Any predefined trace points are going to have their placement and semantics change on a week to week if not a day to day basis. It wouldn't help users at all.</i></ul> I'm not sure I follow. That last sentence makes no sense to me at all.<p> The vast majority of people I've met (and also taught DTrace to), either don't have the time to browse kernel source and figure things out, or the assumed programming knowledge to do so. For example, if you had an NFS server latency issue and no stable probes, how many regular users would be able to pick their way through the NFS code, plus the TCP/IP stack code, plus the filesystem cache code, plus the disk driver code (or abstractions), and finally be able to point to the source of the latency? This would span around 300,000 lines of kernel code (in Solaris).<p> Stable probes allow users to trace complex systems without spending weeks untangling the code, or needing the programming background to understand the kernel. It also allows them to write stable scripts that will work for years to come. So, if the code is changing on a day to day basis, then there is an even <i>greater</i> need for these stable probes - if customers are expected to use the facility.<p> <ul><i>whose pace of development is as glacial as Solaris's is</i></ul> Much of the kernel does change frequently, such as the TCP/IP code. A couple of years ago I wrote some dynamic probe based scripts to monitor TCP traffic (tcpsnoop, etc), which have broken several times during those years due to kernel changes. It's a pain for customers trying to use them, and me trying to maintain them. The solution? I've written stable TCP/IP providers for Solaris (not yet putback), which will allow scripts similar to tcpsnoop to be both simple to write and robust.<p> Wed, 08 Aug 2007 02:06:34 +0000 On DTrace envy https://lwn.net/Articles/244708/ https://lwn.net/Articles/244708/ davem Built-in predefined trace points are a great tradeoff for a system<br> whose pace of development is as glacial as Solaris's is.<br> <p> This same tradeoff simply does not traslate to the pace at which the<br> linux kernel core innards are changing. Any predefined trace points<br> are going to have their placement and semantics change on a week to week<br> if not a day to day basis. It wouldn't help users at all.<br> <p> <p> Wed, 08 Aug 2007 00:30:34 +0000 On DTrace envy https://lwn.net/Articles/244707/ https://lwn.net/Articles/244707/ ahl Fair point:<br> <p> I'm a member of the DTrace team. Development started with two people in October 2001; I joined about 6 months later. We integrated into Solaris in September 2003 so the original effort took about 5.5 man years of work. From 2003-2005 (when Solaris 10 shipped), the focus for the three of us continued to be DTrace, but we had several other projects on the side as well.<br> Wed, 08 Aug 2007 00:21:50 +0000 On DTrace envy https://lwn.net/Articles/244705/ https://lwn.net/Articles/244705/ clugstj Not really a fair comparison unless we are told how much much effort has been expended on each project, not just how much time.<br> Tue, 07 Aug 2007 23:36:12 +0000 On DTrace envy https://lwn.net/Articles/244677/ https://lwn.net/Articles/244677/ bgregg Great article. I have some points to add from by background as a customer using DTrace, writing most of the scripts in the DTraceToolkit, and more recently joining Sun.<p> <ul> <i>making this tool usable by a much wider set of system administrators</i><p></ul> This is also important with DTrace, which I've helped encourage by creating a collection of scripts called the DTraceToolkit <a href="http://www.opensolaris.org/os/community/DTrace/DTraceToolkit">DTraceToolkit</a> (inspired by the SE Toolkit), which also contains man pages, example files, notes, and a list of one-liners. It would be great if regular sysadmins wrote their own scripts, but if they don't have the time or skill to do that, then using the DTraceToolkit is better than not using DTrace. People can also use the scripts and one-liners in the toolkit as examples from which to learn DTrace.<p> Another way to reach a larger audience for DTrace is the <a href="http://www.solarisinternals.com/dtrace">DTrace Topics wiki</a>, where I hope to write documentation specific to different roles (sysadmin, DBA, etc). This is in addition to the Dynamic Tracing Guide on docs.sun.com, which (DTrace aside) is an example of outstanding technical documentation.<p> <ul><i> SystemTap's language, instead, has conditionals, loops, and the ability to define functions.</i></ul><p> Loops keep being mentioned as a feature of SystemTap's language, perhaps as it's a well known programming construct from other languages. If you write a few hundred DTrace scripts, you'll discover that loops aren't actually that important - perhaps 1 in 40 scripts that I write I think that loops would be nice, then use a workaround. If they did become more important, I imagine they could be added after carefully addressing safety concerns.<p> As for functions: again, sounds nice, but write a few hundred DTrace programs and note how many times you wanted them. Most DTrace scripts are short, a dozen lines or so; and the DTrace providers make concise abstractions available that shouldn't need too much digging to get to what you want (such as needing functions or loops). There are also workarounds for functions, such as using #defines. <p> So not having loops or functions would, for other languages, be a big deal. It isn't really the case here, at least in my experience.<p> <ul><i>DTrace has the ability to work with user-space probes.</i></ul><p> This is a big deal; it is allowing providers to be created for languages such as Java, JavaScript, Ruby, Python, etc, and is what makes DTrace complete. DTrace is about observing your application as it runs and interacts with the system libraries, syscalls, kernel and device drivers - the entire software stack. This means if a customer has a performance issue, almost anywhere, DTrace can find it. This is the miracle solution to performance disputes - the application developers, database vendor and os vendor can all use the same tool and see the same numbers.<p> A while back I wrote a <a href="http://www.opensolaris.org/os/project/mozilla-dtrace/">JavaScript DTrace provider</a>, and now with much help from engineers at both Sun and Mozilla, we are looking at how best this could be made a permanent part of Mozilla. Great for JavaScript developers on either Solaris or MacOS, and Linux too - if it ports DTrace.<p> Tue, 07 Aug 2007 22:51:30 +0000 Drag-n-drop DTrace into Linux Kernel? https://lwn.net/Articles/244693/ https://lwn.net/Articles/244693/ pr1268 <p style="margin-left: 10px;"><font class="QuotedText">&gt; If Sun were to dual-license DTrace under GPLv2, the situation would be different.</font></p> <p>Does there seem to be any indications that this could happen sometime in the future? I'm not trying to immediately discount SystemTap; but rather, I'm curious if Sun would/could be so persuaded.</p> <p>Thank you, Jon, for a wonderful article. Your research articles always seem to get the liveliest discussions! :-)</p> Tue, 07 Aug 2007 22:34:53 +0000 Vigorous disagreement https://lwn.net/Articles/244694/ https://lwn.net/Articles/244694/ bcantrill Frank, you write: <blockquote> <i>That's a pretty gutsy assertion</i> <p> And a correct one, as we seem to be in vigorous agreement. </blockquote> No, no we're not -- not at all. You wrote this: <blockquote> ...but almost all of the interesting data that is gathered comes from providers other than fbt, and these are implemented with static probes. </blockquote> That is <b>wrong</b>, and I am not in agreement with it whatsoever. It's wrong in two dimensions. The first being that "all...interesting data comes from providers other than fbt"; as I said (clearly, I thought) <tt>fbt</tt> and <tt>pid</tt> often are used as an investigation proceeds from the symptoms of a suboptimal system to the root-causes of that suboptimality in the implementation. So it's a gross mischaracterization to dismiss their role in DTrace. The second way in which your statement is incorrect is the implication that "providers other than fbt ... are implemented with static probes." This shows complete ignorance of the <tt>pid</tt> provider, which can instrument any instruction in any running process, and is the workhorse of user-level instrumentation. <p> You also write: <blockquote> <i>from someone who, to the best of my knowledge, has never used DTrace.</i> <p> The best of your knowledge needs to get better. </blockquote> Fair enough; allow me to rephrase: "someone who, if they have used DTrace at all, appears to have learned nothing from the experience." Better? Tue, 07 Aug 2007 22:34:22 +0000 static probes https://lwn.net/Articles/244691/ https://lwn.net/Articles/244691/ fuhchee <font class="QuotedText">&gt; That's a pretty gutsy assertion </font><br> <p> And a correct one, as we seem to be in vigorous agreement. Many scripts<br> use the static probes, especially the ones one might use to start analyzing<br> a problem. There is nothing wrong with "depending" on static probes in this<br> sense, so I don't see why you would object.<br> <p> <font class="QuotedText">&gt; from someone who, to the best of my knowledge, has never used DTrace. </font><br> <p> The best of your knowledge needs to get better.<br> <p> Tue, 07 Aug 2007 22:15:45 +0000 Minor factual errors regarding systemtap https://lwn.net/Articles/244690/ https://lwn.net/Articles/244690/ fuhchee <font class="QuotedText">&gt; [on ARM a] single Systemtap syscall probe seems to have about as much</font><br> <font class="QuotedText">&gt; performance hit for the system as the whole LTT(ng) thing. </font><br> <p> Please post some details to the mailing list.<br> <p> <font class="QuotedText">&gt; Does this result sound right (LTT uses static probe points whereas Systemtap</font><br> <font class="QuotedText">&gt; uses dynamic kprobe + has its own overhead on top of that)?</font><br> <p> Yes, dynamic probes are significantly costly than static probe points,<br> but overall cost is a function that includes rate-of-hits and other<br> quantities. Note that the LTT static probe points will be transparently<br> exploitable from systemtap once this part of LTT is merged upstream,<br> and this should greatly reduce the performance differences.<br> Tue, 07 Aug 2007 22:10:14 +0000 On DTrace envy https://lwn.net/Articles/244687/ https://lwn.net/Articles/244687/ tfheen <blockquote>Can anyone mention a single good reason DTrace can't be lifted as-is, name kept and everything, into the Linux kernel? The Sun people seem to be pushing for this while the Linux people seem intriguingly silent on the issue.</blockquote> <p>DTrace is licenced under the CDDL, the Linux kernel is licenced under the GPLv2. Those two licences are incompatible, so any wholesale lifting of DTrace into Linux would give you a result which is (legally) undistributable.</p> <p>Given that Linux has so many contributors, it is for all practical purposes impossible to change the licence or add an exception allowing linking with the CDDL. Sun owns (afaik) the copyright to DTrace and could with a sufficient effort relicence DTrace under the GPLv2 which would allow lifting the code into Linux, barring any technical difficulties.</p> <p>Note that I am in no way saying that GPL is better or worse than the CDDL; they are just incompatible due to the GPL's requirement on "no further restrictions" and the CDDL's patent termination clauses. Also please note that I am in no way saying that Sun <em>should</em> relicence DTrace, only that if they want it to end up in the Linux kernel, as-is, relicencing is probably the easiest way to make that happen.</p> Tue, 07 Aug 2007 21:53:56 +0000