X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fsyscalls%2Flttng-syscalls-extractor%2Flttng-syscalls-extractor.c;fp=instrumentation%2Fsyscalls%2Flttng-syscalls-extractor%2Flttng-syscalls-extractor.c;h=f1e342603a2f7635cd83da7b8d928de225ee2d07;hb=e709527c19415744b76354fafaef68d4ff35f015;hp=ccf7681f6c74e1e420014857213f18a5088257e7;hpb=91a383b227f148b9371517661e95983ef0726946;p=lttng-modules.git diff --git a/instrumentation/syscalls/lttng-syscalls-extractor/lttng-syscalls-extractor.c b/instrumentation/syscalls/lttng-syscalls-extractor/lttng-syscalls-extractor.c index ccf7681f..f1e34260 100644 --- a/instrumentation/syscalls/lttng-syscalls-extractor/lttng-syscalls-extractor.c +++ b/instrumentation/syscalls/lttng-syscalls-extractor/lttng-syscalls-extractor.c @@ -4,8 +4,8 @@ * * Dump syscall metadata to console. * - * Copyright 2011 - Mathieu Desnoyers - * Copyright 2011 - Julien Desfossez + * Copyright 2011 Mathieu Desnoyers + * Copyright 2011 Julien Desfossez */ #include @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include @@ -28,6 +28,13 @@ #error "You need to set CONFIG_KALLSYMS_ALL=y" #endif +/* + * The 'ident' parameter is prepended to each printk line to help + * extract the proper lines from dmesg. + */ +static char *ident = ""; +module_param(ident, charp, 0); + static struct syscall_metadata **__start_syscalls_metadata; static struct syscall_metadata **__stop_syscalls_metadata; @@ -52,31 +59,35 @@ int init_module(void) __start_syscalls_metadata = (void *) kallsyms_lookup_name("__start_syscalls_metadata"); __stop_syscalls_metadata = (void *) kallsyms_lookup_name("__stop_syscalls_metadata"); + printk("%s---START---\n", ident); for (i = 0; i < NR_syscalls; i++) { int j; meta = find_syscall_meta(i); if (!meta) continue; - printk("syscall %s nr %d nbargs %d ", - meta->name, meta->syscall_nr, meta->nb_args); - printk("types: ("); + printk("%ssyscall %s nr %d nbargs %d ", + ident, meta->name, meta->syscall_nr, meta->nb_args); + printk(KERN_CONT "types: ("); for (j = 0; j < meta->nb_args; j++) { if (j > 0) - printk(", "); - printk("%s", meta->types[j]); + printk(KERN_CONT ", "); + printk(KERN_CONT "%s", meta->types[j]); } - printk(") "); - printk("args: ("); + printk(KERN_CONT ") "); + printk(KERN_CONT "args: ("); for (j = 0; j < meta->nb_args; j++) { if (j > 0) - printk(", "); - printk("%s", meta->args[j]); + printk(KERN_CONT ", "); + printk(KERN_CONT "%s", meta->args[j]); } - printk(")\n"); + printk(KERN_CONT ")\n"); } - printk("SUCCESS\n"); + printk("%s---END---\n", ident); + /* + * This module always fails to load. + */ return -1; }