Debugfs
debugfs is a special file system available in the Linux kernel since version 2.6.10-rc3. It was written by Greg Kroah-Hartman. debugfs is a simple-to-use RAM-based file system specially designed for debugging purposes. It exists as a simple way for kernel developers to make information available to user space. Unlike , which is only meant for information about a process, or sysfs, which has strict one-value-per-file rules, debugfs has no rules at all. Developers can put any information they want there. Use 
To compile a Linux kernel with the debugfs facility, the  option must be set to yes. It is typically mounted at  with a command such as:

mount -t debugfs none /sys/kernel/debug

It can be manipulated using several calls from the C header file , which include:
  for creating a file in the debug filesystem. for creating a directory inside the debug filesystem. for creating a symbolic link inside the debug filesystem. for removing a debugfs entry from the debug filesystem. References

External links 
 An updated guide to debugfs at LWN

Linux kernel
Linux kernel features