From: Lin Ming on
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();
}



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/