Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\trace\trace_events_hist.c Create Date:2022-07-28 12:28:42
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:trace_event_raw_event_synth

Proto:static notrace void trace_event_raw_event_synth(void *__data, u64 *var_ref_vals, unsigned int *var_ref_idx)

Type:void

Parameter:

TypeParameterName
void *__data
u64 *var_ref_vals
unsigned int *var_ref_idx
881  trace_file = __data
887  fields_size = 0
889  event = data
891  If race_trigger_soft_disabled - do triggers and test if soft disabled*@file: The file pointer of the event to test* If any triggers without filters are attached to this event, they* will be called here Then Return
894  fields_size = n_u64 * sizeof(u64)
900  buffer = buffer
901  g_buffer_nest_start - Allow to trace while nested*@buffer: The ring buffer to modify* The ring buffer has a safety mechanism to prevent recursion.* But there may be a case where a trace needs to be done while* tracing something else
903  entry = trace_event_buffer_reserve( & fbuffer, trace_file, size of entry + fields_size)
905  If Not entry Then Go to out
908  When i < n_fields cycle
909  val_idx = var_ref_idx[i]
910  If is_string Then
912  char * str_field = (char * ) & fields[n_u64]
916  Else
917  field = fields[i]
921  Case size == 1
922  * (u8 * ) & fields[n_u64] = val
923  Break
925  Case size == 2
926  * (u16 * ) & fields[n_u64] = val
927  Break
929  Case size == 4
930  * (u32 * ) & fields[n_u64] = val
931  Break
933  Default
934  fields[n_u64] = val
935  Break
937  n_u64++
941  trace_event_buffer_commit( & fbuffer)
942  out :
943  g_buffer_nest_end - Allow to trace while nested*@buffer: The ring buffer to modify* Must be called after ring_buffer_nest_start() and after the* ring_buffer_unlock_commit().