Loading arch/x86/oprofile/nmi_int.c +17 −5 Original line number Diff line number Diff line Loading @@ -568,8 +568,13 @@ static int __init init_sysfs(void) int error; error = sysdev_class_register(&oprofile_sysclass); if (!error) if (error) return error; error = sysdev_register(&device_oprofile); if (error) sysdev_class_unregister(&oprofile_sysclass); return error; } Loading @@ -580,8 +585,10 @@ static void exit_sysfs(void) } #else #define init_sysfs() do { } while (0) #define exit_sysfs() do { } while (0) static inline int init_sysfs(void) { return 0; } static inline void exit_sysfs(void) { } #endif /* CONFIG_PM */ static int __init p4_init(char **cpu_type) Loading Loading @@ -695,6 +702,8 @@ int __init op_nmi_init(struct oprofile_operations *ops) char *cpu_type = NULL; int ret = 0; using_nmi = 0; if (!cpu_has_apic) return -ENODEV; Loading Loading @@ -774,7 +783,10 @@ int __init op_nmi_init(struct oprofile_operations *ops) mux_init(ops); init_sysfs(); ret = init_sysfs(); if (ret) return ret; using_nmi = 1; printk(KERN_INFO "oprofile: using NMI interrupt.\n"); return 0; Loading drivers/oprofile/buffer_sync.c +14 −13 Original line number Diff line number Diff line Loading @@ -141,16 +141,6 @@ static struct notifier_block module_load_nb = { .notifier_call = module_load_notify, }; static void end_sync(void) { end_cpu_work(); /* make sure we don't leak task structs */ process_task_mortuary(); process_task_mortuary(); } int sync_start(void) { int err; Loading @@ -158,7 +148,7 @@ int sync_start(void) if (!zalloc_cpumask_var(&marked_cpus, GFP_KERNEL)) return -ENOMEM; start_cpu_work(); mutex_lock(&buffer_mutex); err = task_handoff_register(&task_free_nb); if (err) Loading @@ -173,7 +163,10 @@ int sync_start(void) if (err) goto out4; start_cpu_work(); out: mutex_unlock(&buffer_mutex); return err; out4: profile_event_unregister(PROFILE_MUNMAP, &munmap_nb); Loading @@ -182,7 +175,6 @@ out3: out2: task_handoff_unregister(&task_free_nb); out1: end_sync(); free_cpumask_var(marked_cpus); goto out; } Loading @@ -190,11 +182,20 @@ out1: void sync_stop(void) { /* flush buffers */ mutex_lock(&buffer_mutex); end_cpu_work(); unregister_module_notifier(&module_load_nb); profile_event_unregister(PROFILE_MUNMAP, &munmap_nb); profile_event_unregister(PROFILE_TASK_EXIT, &task_exit_nb); task_handoff_unregister(&task_free_nb); end_sync(); mutex_unlock(&buffer_mutex); flush_scheduled_work(); /* make sure we don't leak task structs */ process_task_mortuary(); process_task_mortuary(); free_cpumask_var(marked_cpus); } Loading drivers/oprofile/cpu_buffer.c +0 −2 Original line number Diff line number Diff line Loading @@ -120,8 +120,6 @@ void end_cpu_work(void) cancel_delayed_work(&b->work); } flush_scheduled_work(); } /* Loading Loading
arch/x86/oprofile/nmi_int.c +17 −5 Original line number Diff line number Diff line Loading @@ -568,8 +568,13 @@ static int __init init_sysfs(void) int error; error = sysdev_class_register(&oprofile_sysclass); if (!error) if (error) return error; error = sysdev_register(&device_oprofile); if (error) sysdev_class_unregister(&oprofile_sysclass); return error; } Loading @@ -580,8 +585,10 @@ static void exit_sysfs(void) } #else #define init_sysfs() do { } while (0) #define exit_sysfs() do { } while (0) static inline int init_sysfs(void) { return 0; } static inline void exit_sysfs(void) { } #endif /* CONFIG_PM */ static int __init p4_init(char **cpu_type) Loading Loading @@ -695,6 +702,8 @@ int __init op_nmi_init(struct oprofile_operations *ops) char *cpu_type = NULL; int ret = 0; using_nmi = 0; if (!cpu_has_apic) return -ENODEV; Loading Loading @@ -774,7 +783,10 @@ int __init op_nmi_init(struct oprofile_operations *ops) mux_init(ops); init_sysfs(); ret = init_sysfs(); if (ret) return ret; using_nmi = 1; printk(KERN_INFO "oprofile: using NMI interrupt.\n"); return 0; Loading
drivers/oprofile/buffer_sync.c +14 −13 Original line number Diff line number Diff line Loading @@ -141,16 +141,6 @@ static struct notifier_block module_load_nb = { .notifier_call = module_load_notify, }; static void end_sync(void) { end_cpu_work(); /* make sure we don't leak task structs */ process_task_mortuary(); process_task_mortuary(); } int sync_start(void) { int err; Loading @@ -158,7 +148,7 @@ int sync_start(void) if (!zalloc_cpumask_var(&marked_cpus, GFP_KERNEL)) return -ENOMEM; start_cpu_work(); mutex_lock(&buffer_mutex); err = task_handoff_register(&task_free_nb); if (err) Loading @@ -173,7 +163,10 @@ int sync_start(void) if (err) goto out4; start_cpu_work(); out: mutex_unlock(&buffer_mutex); return err; out4: profile_event_unregister(PROFILE_MUNMAP, &munmap_nb); Loading @@ -182,7 +175,6 @@ out3: out2: task_handoff_unregister(&task_free_nb); out1: end_sync(); free_cpumask_var(marked_cpus); goto out; } Loading @@ -190,11 +182,20 @@ out1: void sync_stop(void) { /* flush buffers */ mutex_lock(&buffer_mutex); end_cpu_work(); unregister_module_notifier(&module_load_nb); profile_event_unregister(PROFILE_MUNMAP, &munmap_nb); profile_event_unregister(PROFILE_TASK_EXIT, &task_exit_nb); task_handoff_unregister(&task_free_nb); end_sync(); mutex_unlock(&buffer_mutex); flush_scheduled_work(); /* make sure we don't leak task structs */ process_task_mortuary(); process_task_mortuary(); free_cpumask_var(marked_cpus); } Loading
drivers/oprofile/cpu_buffer.c +0 −2 Original line number Diff line number Diff line Loading @@ -120,8 +120,6 @@ void end_cpu_work(void) cancel_delayed_work(&b->work); } flush_scheduled_work(); } /* Loading