The Trace Device lost on its way to Greece

In an unplanned preview of IWP9, Ron Minnich has released a paper on a new kernel trace device for Plan 9; unfortunately he and his coauthors John Floren and Aki Nyrhinen could not attend IWP9 this year so they decided to post their paper early.

The source code for the modified 8l linker can be found in /n/sources/contrib/rminnich/tracepaper/, and the trace device itself should be released shortly. You can download the full paper in PDF format at the newly opened 2008 section of the IWP9 papers archive. And here is the Abstract to open your appetite:


We describe a Plan 9 trace device, devtrace, its uses and its implemen- tations. The trace device can be used to selectively trace functions and processes in Plan 9. Users can enable a range of functions to be traced, observe which of the functions are called, in what order, what their pa- rameters are, and the time spent (in CPU ticks) in each function. We have developed a set of tools for plotting this data to make the progres- sion and timing of function calls clear. Since all Plan 9 file systems are user level processes, it is possible to trace a single process file I/O as it progresses from the process, through the file server processes, and to disk. This measurement, in turn, allows us to propose changes in the Plan 9 kernel design and implementation to improve performance.

The implementation of the trace device went through several distinct phases. In the end, we arrived at a device with a textual interface. Users need not write programs to use the trace facility. The trace device does not rewrite kernel code and hence does not require privileged access (as in Linux or Solaris). Any user of a Plan 9 terminal can measure their system’s performance.

The trace device was designed to help us with performance evaluation of Plan 9 on two supercomputers, the Cray XT4 and the IBM BG/P.

To post a comment you need to login first.