Fix: unregister cpu hotplug notifier on buffer alloc error
[lttng-modules.git] / lttng-context-perf-counters.c
index e0714ebf902729d1b917e0ca24c82448716460ec..239cf0cc35f5ce74fa5fb6a3d7e82c55675d3512 100644 (file)
 #include <linux/perf_event.h>
 #include <linux/list.h>
 #include <linux/string.h>
-#include "lttng-events.h"
-#include "wrapper/ringbuffer/frontend_types.h"
-#include "wrapper/vmalloc.h"
-#include "wrapper/perf.h"
-#include "lttng-tracer.h"
+#include <linux/cpu.h>
+#include <lttng-events.h>
+#include <wrapper/ringbuffer/frontend_types.h>
+#include <wrapper/vmalloc.h>
+#include <wrapper/perf.h>
+#include <lttng-tracer.h>
 
 static
 size_t perf_counter_get_size(size_t offset)
@@ -120,7 +121,7 @@ void lttng_destroy_perf_counter_field(struct lttng_ctx_field *field)
  * soon).
  */
 static
-int __cpuinit lttng_perf_counter_cpu_hp_callback(struct notifier_block *nb,
+int lttng_perf_counter_cpu_hp_callback(struct notifier_block *nb,
                                                 unsigned long action,
                                                 void *hcpu)
 {
@@ -252,6 +253,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type,
        field->record = perf_counter_record;
        field->u.perf_counter = perf_field;
        perf_field->hp_enable = 1;
+       lttng_context_update(*ctx);
 
        wrapper_vmalloc_sync_all();
        return 0;
@@ -278,7 +280,3 @@ error_attr:
        kfree(events);
        return ret;
 }
-
-MODULE_LICENSE("GPL and additional rights");
-MODULE_AUTHOR("Mathieu Desnoyers");
-MODULE_DESCRIPTION("Linux Trace Toolkit Perf Support");
This page took 0.023751 seconds and 4 git commands to generate.