path: root/community/gsoc/project_ideas/dtrace.mdwn
diff options
authorSamuel Thibault <>2017-02-22 21:30:01 +0100
committerSamuel Thibault <>2017-02-22 21:30:01 +0100
commit4f15828febdea054993b2c21f62530c17ce3adea (patch)
treefcce12389b3f8f67b9d2c1347cb90a190c8c3cdc /community/gsoc/project_ideas/dtrace.mdwn
parenta6844c659acd25e913b1d20e48610765352bd10e (diff)
Update gsoc ideas
Diffstat (limited to 'community/gsoc/project_ideas/dtrace.mdwn')
1 files changed, 0 insertions, 62 deletions
diff --git a/community/gsoc/project_ideas/dtrace.mdwn b/community/gsoc/project_ideas/dtrace.mdwn
deleted file mode 100644
index 6261c03..0000000
--- a/community/gsoc/project_ideas/dtrace.mdwn
+++ /dev/null
@@ -1,62 +0,0 @@
-[[!meta copyright="Copyright © 2008, 2009, 2011 Free Software Foundation,
-[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
-id="license" text="Permission is granted to copy, distribute and/or modify this
-document under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no Invariant
-Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled [[GNU Free Documentation
-[[!meta title="Kernel Instrumentation"]]
-[[!tag open_issue_gnumach]]
-One of the main problems of the current Hurd implementation is very poor
-[[open_issues/performance]]. While we have a bunch of ideas what could cause the performance
-problems, these are mostly just guesses. Better understanding what really
-causes bad performance is necessary to improve the situation.
-For that, we need tools for performance measurements. While all kinds of more
-or less specific [[open_issues/profiling]] tools could be conceived, the most promising and
-generic approach seems to be a framework for logging certain events in the
-running system (both in the microkernel and in the Hurd servers). This would
-allow checking how much time is spent in certain modules, how often certain
-situations occur, how things interact, etc. It could also prove helpful in
-debugging some issues that are otherwise hard to find because of complex
-The most popular kernel instrumentation framework is Sun's dtrace,
-originally written for Solaris,
-but also adopted by some other systems.
-However, the GPL-incompatible license means it can't be used in Linux,
-and thus Linux developers created their own frameworks instead:
-first [[SystemTap]], and now [[LTTng]].
-In 2008, Andrei Barbu did initial work on kernel probes for the Hurd.
-However, not all of his patches got merged,
-because some turned out not to be fully functional.
-Also, he didn't get around to work on userspace probes,
-nor on a nice frontend for writing test scripts employing the probes.
-The goal of this project is to make the instrumentation framework
-more usable and complete,
-and to better integrate it in the Hurd.
-For that, the student will have to work
-on some real profiling and/or debugging tasks,
-and fix any shortcomings he encounters in the framework.
-This is a pretty involved task.
-Previous experience with low-level programming is a must;
-and it also requires a good grasp on interactions in complex systems.
-To work on this project,
-the student will have to get familiar with GNU Mach.
-(The microkernel employed by the Hurd.)
-Some understanding of other aspects of the Hurd will also be required,
-depending on the exact nature of the profiling/debugging performed.
-Possible mentors: Samuel Thibault (youpi)
-Exercise: Use the existing probes to perform some simple measurement.