This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / include / linux / profile.h
index 026969a..a22f4a1 100644 (file)
@@ -53,14 +53,14 @@ int task_handoff_unregister(struct notifier_block * n);
 int profile_event_register(enum profile_type, struct notifier_block * n);
 int profile_event_unregister(enum profile_type, struct notifier_block * n);
 
-int register_timer_hook(int (*hook)(struct pt_regs *));
-void unregister_timer_hook(int (*hook)(struct pt_regs *));
-
-/* Timer based profiling hook */
-extern int (*timer_hook)(struct pt_regs *);
+int register_profile_notifier(struct notifier_block * nb);
+int unregister_profile_notifier(struct notifier_block * nb);
 
 struct pt_regs;
 
+/* profiling hook activated on each timer interrupt */
+void profile_hook(struct pt_regs * regs);
+
 #else
 
 static inline int task_handoff_register(struct notifier_block * n)
@@ -87,16 +87,18 @@ static inline int profile_event_unregister(enum profile_type t, struct notifier_
 #define profile_handoff_task(a) (0)
 #define profile_munmap(a) do { } while (0)
 
-static inline int register_timer_hook(int (*hook)(struct pt_regs *))
+static inline int register_profile_notifier(struct notifier_block * nb)
 {
        return -ENOSYS;
 }
 
-static inline void unregister_timer_hook(int (*hook)(struct pt_regs *))
+static inline int unregister_profile_notifier(struct notifier_block * nb)
 {
-       return;
+       return -ENOSYS;
 }
 
+#define profile_hook(regs) do { } while (0)
+
 #endif /* CONFIG_PROFILING */
 
 #endif /* __KERNEL__ */