Messages in this thread Patch in this message | | | Subject | [RFC][PATCH v1 13/15] perf: export tracepoint events via sysfs: ext4, jbd2, xfs, gfs2 | From | Lin Ming <> | Date | Thu, 22 Jul 2010 19:17:50 +0800 |
| |
ext4, jbd2, xfs, gfs2 tracepoint events are exported like below,
/sys/fs/events/ |-- ext4_alloc_da_blocks | |-- config | `-- type .... .... |-- jbd2_checkpoint | |-- config | `-- type .... .... |-- xfs_agf | |-- config | `-- type .... .... |-- gfs2_block_alloc | |-- config | `-- type .... .... --- fs/namespace.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/fs/namespace.c b/fs/namespace.c index 88058de..b4bc3dd 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -29,6 +29,7 @@ #include <linux/log2.h> #include <linux/idr.h> #include <linux/fs_struct.h> +#include <linux/perf_event.h> #include <asm/uaccess.h> #include <asm/unistd.h> #include "pnode.h" @@ -2305,6 +2306,20 @@ static void __init init_mount_tree(void) set_fs_root(current->fs, &root); } +static void fs_sys_add_tp(struct kobject *kobj) +{ + struct kobject *events_kobj; + + events_kobj = perf_sys_create_events_dir(kobj); + if (events_kobj) + return; + + perf_sys_add_tp_events(events_kobj, "ext4"); + perf_sys_add_tp_events(events_kobj, "jbd2"); + perf_sys_add_tp_events(events_kobj, "xfs"); + perf_sys_add_tp_events(events_kobj, "gfs2"); +} + void __init mnt_init(void) { unsigned u; @@ -2332,6 +2347,8 @@ void __init mnt_init(void) fs_kobj = kobject_create_and_add("fs", NULL); if (!fs_kobj) printk(KERN_WARNING "%s: kobj create error\n", __func__); + else + fs_sys_add_tp(fs_kobj); init_rootfs(); init_mount_tree(); }
| |