函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\hw_breakpoint.c Create Date:2022-07-27 15:04:41
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Constraints to check before allowing this new breakpoint counter:* == Non-pinned counter == (Considered as pinned for now)* - If attached to a single cpu, check:* (per_cpu(info->flexible, cpu) || (per_cpu(info->cpu_pinned, cpu)* +

函数原型:static int __reserve_bp_slot(struct perf_event *bp, u64 bp_type)

返回类型:int

参数:

类型参数名称
struct perf_event *bp
u64bp_type
270  struct bp_busy_slots slots = {0}
275  如果非constraints_initialized则返回:负ENOMEM
279  如果bp_type恒等于HW_BREAKPOINT_EMPTYbp_type恒等于HW_BREAKPOINT_INVALID则返回:负EINVAL
283  type等于find_slot_idx(bp_type)
284  weight等于hw_breakpoint_weight(bp)
286  Report the number of pinned/un-pinned breakpoints we have in* a given cpu (cpu > -1) or in all of them (cpu = -1).
291  For now, continue to consider flexible as pinned, until we can* ensure no flexible event can ever be scheduled before a pinned event* in a same cpu.
294  如果pinned加非非flexible大于nr_slots[type]则返回:负ENOSPC
297  Add/remove the given breakpoint in our constraint table
299  返回:0
调用者
名称描述
reserve_bp_slot
__modify_bp_slot
dbg_reserve_bp_slotAllow the kernel debugger to reserve breakpoint slots without* taking a lock using the dbg_* variant of for the reserve and* release breakpoint slots.