aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/trace.c
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2011-01-27 13:55:14 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2011-01-27 13:55:14 -0500
commit178914fda62f345d45c0873f000f4760293b24ab (patch)
tree7244c6d9c95c95f719468fba194df7e09f86de54 /litmus/trace.c
parentb71d5bb985706bfb1e96a2527559a1753165db96 (diff)
parentd11808b5c6b032de4284281ed2ff77ae697a4ebd (diff)
Merge branch 'master' into wip-edzl-critique
Diffstat (limited to 'litmus/trace.c')
-rw-r--r--litmus/trace.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/litmus/trace.c b/litmus/trace.c
index b3a6b47aad6e..e7ea1c2ab3e4 100644
--- a/litmus/trace.c
+++ b/litmus/trace.c
@@ -71,9 +71,6 @@ feather_callback void save_timestamp_cpu(unsigned long event,
71 */ 71 */
72#define NO_TIMESTAMPS (2 << 11) 72#define NO_TIMESTAMPS (2 << 11)
73 73
74/* set MAJOR to 0 to have it dynamically assigned */
75#define FT_TRACE_MAJOR 252
76
77static int alloc_timestamp_buffer(struct ftdev* ftdev, unsigned int idx) 74static int alloc_timestamp_buffer(struct ftdev* ftdev, unsigned int idx)
78{ 75{
79 unsigned int count = NO_TIMESTAMPS; 76 unsigned int count = NO_TIMESTAMPS;
@@ -93,12 +90,33 @@ static void free_timestamp_buffer(struct ftdev* ftdev, unsigned int idx)
93 90
94static int __init init_ft_overhead_trace(void) 91static int __init init_ft_overhead_trace(void)
95{ 92{
93 int err;
94
96 printk("Initializing Feather-Trace overhead tracing device.\n"); 95 printk("Initializing Feather-Trace overhead tracing device.\n");
97 ftdev_init(&overhead_dev, THIS_MODULE); 96 err = ftdev_init(&overhead_dev, THIS_MODULE, 1, "ft_trace");
98 overhead_dev.minor_cnt = 1; /* only one buffer */ 97 if (err)
98 goto err_out;
99
99 overhead_dev.alloc = alloc_timestamp_buffer; 100 overhead_dev.alloc = alloc_timestamp_buffer;
100 overhead_dev.free = free_timestamp_buffer; 101 overhead_dev.free = free_timestamp_buffer;
101 return register_ftdev(&overhead_dev, "ft_trace", FT_TRACE_MAJOR); 102
103 err = register_ftdev(&overhead_dev);
104 if (err)
105 goto err_dealloc;
106
107 return 0;
108
109err_dealloc:
110 ftdev_exit(&overhead_dev);
111err_out:
112 printk(KERN_WARNING "Could not register ft_trace module.\n");
113 return err;
114}
115
116static void __exit exit_ft_overhead_trace(void)
117{
118 ftdev_exit(&overhead_dev);
102} 119}
103 120
104module_init(init_ft_overhead_trace); 121module_init(init_ft_overhead_trace);
122module_exit(exit_ft_overhead_trace);