函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:event_hist_trigger

函数原型:static void event_hist_trigger(struct event_trigger_data *data, void *rec, struct ring_buffer_event *rbe)

返回类型:void

参数:

类型参数名称
struct event_trigger_data *data
void *rec
struct ring_buffer_event *rbe
5322  hist_data等于private_data
5323  use_compound_key等于n_keys大于1
5327  struct tracing_map_elt * elt = NULL
5330  void * key = NULL
5333  memset(compound_key, 0, key_size)
5336  key_field等于fields[i]
5338  如果flags按位与HIST_FIELD_FL_STACKTRACE
5339  memset(entries, 0, HIST_STACKTRACE_SIZE)
5340  stack_trace_save - Save a stack trace into a storage array*@store: Pointer to storage array*@size: Size of the storage array*@skipnr: Number of entries to skip at the start of the stack trace* Return: Number of trace entries stored.
5342  key等于entries
5343  否则
5344  field_contents等于fn(key_field, elt, rbe, rec)
5345  如果flags按位与HIST_FIELD_FL_STRING
5346  key等于field_contents
5347  use_compound_key = true
5348  否则key = (void * ) & field_contents
5352  如果use_compound_keyadd_to_key(compound_key, key, key_field, rec)
5356  如果use_compound_keykey等于compound_key
5359  如果n_var_refs且非resolve_var_refs(hist_data, key, var_ref_vals, false)则返回
5363  elt等于racing_map_insert - Insert key and/or retrieve val from a tracing_map*@map: The tracing_map to insert into*@key: The key to insert* Inserts a key into a tracing_map and creates and returns a new* tracing_map_elt for it, or if the key has already been
5364  如果非elt则返回
5367  hist_trigger_elt_update(hist_data, elt, rec, rbe, var_ref_vals)
5369  如果resolve_var_refs(hist_data, key, var_ref_vals, true)则hist_trigger_actions(hist_data, elt, rec, rbe, key, var_ref_vals)