Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / kernel / hw_breakpoint.c
index e34d94d50924676c7395e59748fbf15adffd3362..d71a987fd2bf2ba5e698f9b69fccb59db4a1bb30 100644 (file)
@@ -241,6 +241,17 @@ toggle_bp_slot(struct perf_event *bp, bool enable, enum bp_type_idx type,
                list_add_tail(&bp->hw.bp_list, &bp_task_head);
 }
 
+/*
+ * Function to perform processor-specific cleanup during unregistration
+ */
+__weak void arch_unregister_hw_breakpoint(struct perf_event *bp)
+{
+       /*
+        * A weak stub function here for those archs that don't define
+        * it inside arch/.../kernel/hw_breakpoint.c
+        */
+}
+
 /*
  * Contraints to check before allowing this new breakpoint counter:
  *
@@ -343,6 +354,7 @@ void release_bp_slot(struct perf_event *bp)
 {
        mutex_lock(&nr_bp_mutex);
 
+       arch_unregister_hw_breakpoint(bp);
        __release_bp_slot(bp);
 
        mutex_unlock(&nr_bp_mutex);