Пример #1
0
static int __init ltt_ftrace_init(void)
{
	int ret;

	printk(KERN_INFO "LTT : ltt-ftrace init\n");
	register_ftrace_function(&trace_ops);
	ret = ltt_probe_register(&ftrace_cpu_start_probe);
	BUG_ON(ret);
	ret = ltt_probe_register(&ftrace_cpu_stop_probe);
	BUG_ON(ret);
	ret = ltt_probe_register(&ftrace_system_start_probe);
	BUG_ON(ret);
	ret = ltt_probe_register(&ftrace_system_stop_probe);
	BUG_ON(ret);
	ret = ltt_probe_register(&ltt_tap_marker_probe);
	BUG_ON(ret);

	/*
	 * Keep a refcount on ourselves, because ftrace forbids freeing
	 * trace_ops.
	 */
	/* __module_get(THIS_MODULE); */

	return 0;
}
static int __init probe_init(void)
{
	int result, i;

	for (i = 0; i < ARRAY_SIZE(probe_array); i++) {
		result = ltt_probe_register(&probe_array[i]);
		if (result)
			printk(KERN_INFO "LTT unable to register probe %s\n",
				probe_array[i].name);
	}
	return 0;
}