Messages in this thread |  | | | Date | Tue, 15 Apr 2008 16:44:59 +0530 | | From | "K. Prasad" <> | | Subject | [RFC Patch 0/1] Enhancements to 'trace' infrastructure |
Hi All,
Please review the following patch which introduces two new
interfaces to output data using 'trace' infrastructure. These interfaces
can be used to print directly onto a debugfs mount. Since it uses 'trace'
interface underneath the directory and file structures are as created by
'trace'.
The proposed debugfs_* interfaces are meant to overcome the need to
setup/tear-down 'trace' infrastructure by the user. In addition to this
the patches help in:
a) Printing out data into a debugfs mounted file without bothering about
creating/re-using debugfs files, sizes of intermediate buffers, etc.
(This is achieved through the functions init_trace_interface() and
trace_exists()).
b) Provide interfaces to do i)string output or ii)binary dump of data
c) Tear-down of the trace infrastructure through a single function call
using its parent directory name, and unmindful of the internal data
structures such as 'struct trace_info'.(using trace_cleanup_all)
d) The debugfs_printk_data may be further enhanced to provide features
suh as the ability to invoke pre- and post- printing callback functions
For e.g. A callback function to obtain a given lock before printing out
a given data, etc.
A quick look at samples/trace/fork_trace.c would help understand what is
required to get data out using the 'trace' infrastructure (vs the
proposed interfaces which have been exemplified in
samples/trace/fork_new_trace.c).
The patches are based against 2.6.25-rc8-mm1 and have been tested on an
i386 machine.
Thanks,
K.Prasad
|  |