mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:46:16 +00:00
perf/hw_breakpoint: Remove arch breakpoint hooks
PowerPC was the only user of these hooks, and has been refactored to no longer require them. There is no need to keep them around, so remove them to reduce complexity. Signed-off-by: Benjamin Gray <bgray@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230801011744.153973-8-bgray@linux.ibm.com
This commit is contained in:
parent
58709f6fc3
commit
53834a0c09
@ -90,9 +90,6 @@ extern int dbg_reserve_bp_slot(struct perf_event *bp);
|
||||
extern int dbg_release_bp_slot(struct perf_event *bp);
|
||||
extern int reserve_bp_slot(struct perf_event *bp);
|
||||
extern void release_bp_slot(struct perf_event *bp);
|
||||
int arch_reserve_bp_slot(struct perf_event *bp);
|
||||
void arch_release_bp_slot(struct perf_event *bp);
|
||||
void arch_unregister_hw_breakpoint(struct perf_event *bp);
|
||||
|
||||
extern void flush_ptrace_hw_breakpoint(struct task_struct *tsk);
|
||||
|
||||
|
@ -523,26 +523,6 @@ toggle_bp_slot(struct perf_event *bp, bool enable, enum bp_type_idx type, int we
|
||||
return 0;
|
||||
}
|
||||
|
||||
__weak int arch_reserve_bp_slot(struct perf_event *bp)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
__weak void arch_release_bp_slot(struct perf_event *bp)
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
* 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
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* Constraints to check before allowing this new breakpoint counter.
|
||||
*
|
||||
@ -594,7 +574,6 @@ static int __reserve_bp_slot(struct perf_event *bp, u64 bp_type)
|
||||
enum bp_type_idx type;
|
||||
int max_pinned_slots;
|
||||
int weight;
|
||||
int ret;
|
||||
|
||||
/* We couldn't initialize breakpoint constraints on boot */
|
||||
if (!constraints_initialized)
|
||||
@ -613,10 +592,6 @@ static int __reserve_bp_slot(struct perf_event *bp, u64 bp_type)
|
||||
if (max_pinned_slots > hw_breakpoint_slots_cached(type))
|
||||
return -ENOSPC;
|
||||
|
||||
ret = arch_reserve_bp_slot(bp);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return toggle_bp_slot(bp, true, type, weight);
|
||||
}
|
||||
|
||||
@ -634,8 +609,6 @@ static void __release_bp_slot(struct perf_event *bp, u64 bp_type)
|
||||
enum bp_type_idx type;
|
||||
int weight;
|
||||
|
||||
arch_release_bp_slot(bp);
|
||||
|
||||
type = find_slot_idx(bp_type);
|
||||
weight = hw_breakpoint_weight(bp);
|
||||
WARN_ON(toggle_bp_slot(bp, false, type, weight));
|
||||
@ -645,7 +618,6 @@ void release_bp_slot(struct perf_event *bp)
|
||||
{
|
||||
struct mutex *mtx = bp_constraints_lock(bp);
|
||||
|
||||
arch_unregister_hw_breakpoint(bp);
|
||||
__release_bp_slot(bp, bp->attr.bp_type);
|
||||
bp_constraints_unlock(mtx);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user