Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-28 13:34:43
Last Modify:2022-05-20 07:50:19 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:_free_event

Proto:static void _free_event(struct perf_event *event)

Type:void

Parameter:

TypeParameterName
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  If rb Then
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  If is_cgroup_event(event) Then perf_detach_cgroup(event)
4606  If Not parent Then
4607  If sample_type & PERF_SAMPLE_CALLCHAIN Then put_callchain_buffers()
4611  perf_event_free_bpf_prog(event)
4612  perf_addr_filters_splice(event, NULL)
4613  kfree(addr_filter_ranges)
4615  If destroy Then destroy(event)
4622  If target Then put_task_struct(target)
4629  If ctx Then put_ctx(ctx)
4632  exclusive_event_destroy(event)
4633  module_put(module)
4635  all_rcu() - Queue an RCU callback for invocation after a grace period
Caller
NameDescribe
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