函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Commit the data written by hardware into the ring buffer by adjusting* aux_head and posting a PERF_RECORD_AUX into the perf buffer. It is the* pmu driver's responsibility to observe ordering rules of the hardware,

函数原型:void perf_aux_output_end(struct perf_output_handle *handle, unsigned long size)

返回类型:void

参数:

类型参数名称
struct perf_output_handle *handle
unsigned longsize
477  wakeup等于非非aux_flags按位与cord was truncated to fit 的值
478  rb等于rb
482  如果aux_overwrite
483  aux_flags或等于snapshot from overwrite mode
485  aux_head等于head
486  AUX area 等于aux_head
487  否则
488  aux_flags与等于snapshot from overwrite mode 的反
490  aux_head等于 AUX area
491  AUX area 加等于size
506  如果sizeaux_flags按位与snapshot from overwrite mode 的反则perf_event_aux_event(event, aux_head, size, aux_flags)
510  WRITE_ONCE(AUX area is defined by aux_{offset,size} fields that should be set* by the userspace, so that* aux_offset >= data_offset + data_size* prior to mmap()ing it, AUX area )
511  如果rb_need_aux_wakeup(rb)则wakeup = true
514  如果wakeup
515  如果aux_flags按位与cord was truncated to fit pending_disable等于当前cpu ID()
517  perf_output_wakeup(handle)
520  event = NULL
522  WRITE_ONCE(aux_nest, 0)
524  rb_free_aux(rb)
525  ring_buffer_put(rb)