% Registration The sysfs Filesystem % [2]Register/Submit Patrick Mochel (mochel@digitalimplant.org) sysfs is considered by some to be one of the most important and useful features that was integrated into the 2.6 kernel. It has definitely been one of the most talked about, most used, and most visible features. By providing a window into kernel objects, their attributes, and the relationships between them, a lot of opportunities arise: \begin{enumerate} \item to cleanup existing code that has traditionally used proc, \item to easily port code that has traditionally used procfs to export object attributes, and \item to integrate new subsystems with configurable and exportable attributes. \end{enumerate} While sysfs has been a great benefit for a large amount code in the kernel, it's far from perfect. This talk will discuss those imperfections, including but not limited to, the places and situations where it's cumbersome or inappropriate to use sysfs; how sysfs suffers from some of the same problems as procfs and sysctl by making it easy to duplicate code and propagate bugs; and what the performance impact of using sysfs is. It won't be an unmitigated tomato-throwing session, though. The purpose of identifying and characterizing the problems is simply the first step in making it better. Current developments and plans for the near future to fix or alleviate the problems will be described. The pundits will be placated and the critics pacified in the next few steps towards total domination.