Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7136c51 authored by K.Prasad's avatar K.Prasad Committed by Paul Mackerras
Browse files

hw_breakpoints: Allow arch-specific cleanup before breakpoint unregistration



Certain architectures (such as PowerPC) have a need to clean up data
structures before a breakpoint is unregistered.  This introduces an
arch-specific hook in release_bp_slot() along with a weak definition
in the form of a stub function.

Signed-off-by: default avatarK.Prasad <prasad@linux.vnet.ibm.com>
Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 0016a4cf
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -241,6 +241,17 @@ toggle_bp_slot(struct perf_event *bp, bool enable, enum bp_type_idx type,
		per_cpu(nr_cpu_bp_pinned[type], bp->cpu) -= weight;
}

/*
 * 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:
 *
@@ -339,6 +350,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);