From bafee733716c4ed567b9af26fd1671fb731eb5bf Mon Sep 17 00:00:00 2001 From: compudj Date: Thu, 8 May 2008 02:00:37 +0000 Subject: [PATCH] update git-svn-id: http://ltt.polymtl.ca/svn@2900 04897980-b3bd-0310-b5e0-8ef037075253 --- tests/kernel/Makefile | 1 + tests/kernel/test-fct-speed.c | 65 +++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 tests/kernel/test-fct-speed.c diff --git a/tests/kernel/Makefile b/tests/kernel/Makefile index 457c543f..c9732c10 100644 --- a/tests/kernel/Makefile +++ b/tests/kernel/Makefile @@ -16,6 +16,7 @@ endif # obj-m += test-bug.o obj-m += test-cmpxchg-nolock2.o obj-m += test-trace-speed.o + obj-m += test-fct-speed.o #obj-m += test-mark-speed.o #obj-m += test-mark-speed-edit.o #obj-m += test-mark-speed-opt.o diff --git a/tests/kernel/test-fct-speed.c b/tests/kernel/test-fct-speed.c new file mode 100644 index 00000000..079e4793 --- /dev/null +++ b/tests/kernel/test-fct-speed.c @@ -0,0 +1,65 @@ +/* test-mark.c + * + */ + +#include +#include +#include +#include +#include +#include + + //asm volatile (""); +struct proc_dir_entry *pentry = NULL; + +void test(unsigned long arg) +{ + asm volatile (""); + //trace_mark(test_marker, "arg1 %lu arg2 %p", arg, current); +} + +static int my_open(struct inode *inode, struct file *file) +{ + unsigned int i; + cycles_t cycles1, cycles2; + unsigned long flags; + + local_irq_save(flags); + rdtsc_barrier(); + cycles1 = get_cycles(); + rdtsc_barrier(); + for(i=0; i<20000; i++) { + test(i); + } + rdtsc_barrier(); + cycles2 = get_cycles(); + rdtsc_barrier(); + local_irq_restore(flags); + printk("cycles : %llu\n", cycles2-cycles1); + return -EPERM; +} + + +static struct file_operations my_operations = { + .open = my_open, +}; + +int init_module(void) +{ + pentry = create_proc_entry("testmark", 0444, NULL); + if (pentry) + pentry->proc_fops = &my_operations; + + printk("test addr %p\n", &test); + return 0; +} + +void cleanup_module(void) +{ + remove_proc_entry("testmark", NULL); +} + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Mathieu Desnoyers"); +MODULE_DESCRIPTION("Marker Test"); + -- 2.34.1