函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-27 14:54:06
Last Modify:2022-05-20 07:50:19 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:_free_event

函数原型:static void _free_event(struct perf_event *event)

返回类型:void

参数:

类型参数名称
struct perf_event *event
4585  Synchronize against the irq_work @entry, ensures the entry is not* currently in use.
4587  unaccount_event(event)
4589  security_perf_event_free(event)
4591  如果rb
4598  mutex_lock( & mmap_mutex)
4599  ring_buffer_attach(event, NULL)
4600  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
4603  如果is_cgroup_event(event)则perf_detach_cgroup(event)
4606  如果非parent
4607  如果sample_type按位与PERF_SAMPLE_CALLCHAINput_callchain_buffers()
4611  perf_event_free_bpf_prog(event)
4612  perf_addr_filters_splice(event, NULL)
4613  kfree(addr_filter_ranges)
4615  如果destroydestroy(event)
4622  如果targetput_task_struct(target)
4629  如果ctxput_ctx(ctx)
4632  exclusive_event_destroy(event)
4633  module_put(module)
4635  all_rcu() - Queue an RCU callback for invocation after a grace period
调用者
名称描述
free_eventUsed to free events which have a known refcount of 1, such as in error paths* where the event isn't exposed yet and inherited events.
put_event