convert from svn repository: remove tags directory
[lttv.git] / trunk / tests / kernel / test-int3-speed.c
CommitLineData
0526b61f 1/* test-mark.c
2 *
3 */
4
5#include <linux/module.h>
6#include <linux/proc_fs.h>
7#include <linux/sched.h>
8#include <linux/timex.h>
9#include <linux/marker.h>
10#include <asm/ptrace.h>
11
12 //asm volatile ("");
13struct proc_dir_entry *pentry = NULL;
14
15void test(unsigned long arg)
16{
17 asm volatile ("int3;\n\t");
18 //trace_mark(test_marker, "arg1 %lu arg2 %p", arg, current);
19}
20
21static int my_open(struct inode *inode, struct file *file)
22{
23 unsigned int i;
24 cycles_t cycles1, cycles2;
25 unsigned long flags;
26
27 local_irq_save(flags);
28 rdtsc_barrier();
29 cycles1 = get_cycles();
30 rdtsc_barrier();
31 for(i=0; i<20000; i++) {
32 test(i);
33 }
34 rdtsc_barrier();
35 cycles2 = get_cycles();
36 rdtsc_barrier();
37 local_irq_restore(flags);
38 printk("cycles : %llu\n", cycles2-cycles1);
39 return -EPERM;
40}
41
42
43static struct file_operations my_operations = {
44 .open = my_open,
45};
46
47int init_module(void)
48{
49 pentry = create_proc_entry("testmark", 0444, NULL);
50 if (pentry)
51 pentry->proc_fops = &my_operations;
52
53 printk("test addr %p\n", &test);
54 return 0;
55}
56
57void cleanup_module(void)
58{
59 remove_proc_entry("testmark", NULL);
60}
61
62MODULE_LICENSE("GPL");
63MODULE_AUTHOR("Mathieu Desnoyers");
64MODULE_DESCRIPTION("Marker Test");
65
This page took 0.030614 seconds and 4 git commands to generate.