diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2011-02-11 17:48:20 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2011-02-11 17:48:20 +0100 |
commit | 9006a0f51cb7a7bb2a22d742c7cf795e3a4f6b5e (patch) | |
tree | 587e888d09e86a97ab8c95457cf5ee79a754ecb5 /open_issues/dtrace.mdwn | |
parent | de34f5ed5e0c3c20dc99ae9cefa0b201d49c95b5 (diff) | |
parent | f999b576912e132d958baf7bb91e94544ee32bce (diff) |
Merge branch 'master' of flubber:~hurd-web/hurd-web
Diffstat (limited to 'open_issues/dtrace.mdwn')
-rw-r--r-- | open_issues/dtrace.mdwn | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/open_issues/dtrace.mdwn b/open_issues/dtrace.mdwn new file mode 100644 index 00000000..cbac28fb --- /dev/null +++ b/open_issues/dtrace.mdwn @@ -0,0 +1,47 @@ +[[!meta copyright="Copyright © 2008, 2009, 2011 Free Software Foundation, +Inc."]] + +[[!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 +License|/fdl]]."]]"""]] + +One of the main problems of the current Hurd implementation is very poor +[[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 [[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 +interactions. + +The most popular framework for that is Sun's dtrace; but there might be others. +The student has to evaluate the existing options, deciding which makes most +sense for the Hurd; and implement that one. (Apple's implementation of dtrace +in their Mach-based kernel might be helpful here...) + +This project requires ability to evaluate possible solutions, and experience +with integrating existing components as well as low-level programming. + +Possible mentors: Samuel Thibault (youpi) + +Related: [[profiling]], [[LTTng]], [[SystemTap]] + +Exercise: In lack of a good exercise directly related to this task, just pick +one of the kernel-related or generally low-level tasks from the bug/task +trackers on savannah, and make a go at it. You might not be able to finish the +task in a limited amount of time, but you should at least be able to make a +detailed analysis of the issue. + +*Status*: Andei Barbu was working on +[SystemTap](http://csclub.uwaterloo.ca/~abarbu/hurd/) for GSoC 2008, but it +turned out too Linux-specific. He implemented kernel probes, but there is no +nice frontend yet. |