By Jonathan Corbet
October 28, 2009
In-kernel tracing is rapidly becoming a feature that developers and users
count on. In current kernels, though, the virtual files used to control
tracing and access data are all found in the debugfs filesystem, in the
tracing directory. That is not seen as a long-term solution;
debugfs is meant for volatile, debugging information, but tracing users
want to see a stable ABI in a non-debugging location.
Following up on some conference discussions, Greg Kroah-Hartman decided to
regularize the tracing file hierarchy through the creation of a new tracefs virtual filesystem.
Tracefs looks a lot like .../debug/tracing in that the files have
simply been moved from one location to the other. Tracefs has a simpler
internal API, though, since it does not require all of the features
supported by debugfs.
The idea of tracefs is universally supported, but this particular patch
looks like it will not be going in anytime soon. The concern is that
anything moved out of debugfs and into something more stable will instantly
become part of the kernel ABI. Much of the current tracing interface has
been thrown together to meet immediate needs; the sort of longer-term
thinking which is needed to define an interface which can remain stable for
years is just beginning to happen.
Ingo Molnar thinks that the virtual files
which describe the available events could be exported now, but not much
else. That leaves most of the interface in an unstable state, still. So
Greg has withdrawn the patch for now;
expect it to come back with the tracing developers are more ready to commit
to their ABI. At that point, we can expect the debate to begin on the
truly important question: /tracing or
/sys/kernel/tracing?
(
Log in to post comments)