Function report |
Source Code:kernel\trace\trace_events_hist.c |
Create Date:2022-07-28 12:34:11 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:event_hist_trigger_func
Proto:static int event_hist_trigger_func(struct event_command *cmd_ops, struct trace_event_file *file, char *glob, char *cmd, char *param)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct event_command * | cmd_ops | |
struct trace_event_file * | file | |
char * | glob | |
char * | cmd | |
char * | param |
6184 | bool remove = false |
6186 | ret = 0 |
6188 | lockdep_assert_held( & event_mutex) |
6190 | If glob && strlen - Find the length of a string*@s: The string to be sized Then |
6191 | hist_err_clear() |
6192 | last_cmd_set(file, param) |
6206 | Do |
6207 | p = strstr - Find the first substring in a %NUL terminated string*@s1: The string to be searched*@s2: The string to search for |
6208 | If Not p Then Break |
6213 | p++ |
6214 | Continue |
6216 | If p >= param + strlen - Find the length of a string*@s: The string to be sized - size of "if" - 1 - 1 Then Return -EINVAL |
6219 | p++ |
6220 | Continue |
6222 | Break |
6227 | Else |
6233 | attrs = parse_hist_trigger_attrs(tr, trigger) |
6237 | If map_bits Then hist_trigger_bits = map_bits |
6240 | hist_data = create_hist_data(hist_trigger_bits, attrs, file, remove) |
6246 | trigger_ops = get_trigger_ops(cmd, trigger) |
6248 | trigger_data = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). |
6249 | If Not trigger_data Then |
6254 | count = -1 |
6255 | ops = trigger_ops |
6261 | private_data = hist_data |
6264 | If param && set_filter Then |
6265 | ret = set_filter(param, trigger_data, file) |
6270 | If remove Then |
6271 | If Not have_hist_trigger_match(trigger_data, file) Then Go to out_free |
6274 | If hist_trigger_check_refs(trigger_data, file) Then |
6279 | unreg(glob + 1, trigger_ops, trigger_data, file) |
6280 | se_name = trace_event_name(event_call) |
6281 | se = find_synth_event(se_name) |
6284 | ret = 0 |
6285 | Go to out_free |
6288 | ret = reg(glob, trigger_ops, trigger_data, file) |
6294 | If Not ret Then |
6301 | If get_named_trigger_data(trigger_data) Then Go to enable |
6304 | If has_hist_vars(hist_data) Then save_hist_vars(hist_data) |
6307 | ret = create_actions(hist_data) |
6314 | enable : |
6315 | ret = hist_trigger_enable(trigger_data, file) |
6319 | se_name = trace_event_name(event_call) |
6320 | se = find_synth_event(se_name) |
6324 | ret = 0 |
6325 | out : |
6326 | If ret == 0 Then hist_err_clear() |
6329 | Return ret |
6330 | out_unreg : |
6331 | unreg(glob + 1, trigger_ops, trigger_data, file) |
6332 | out_free : |
6333 | If set_filter Then set_filter(NULL, trigger_data, NULL) |
6336 | remove_hist_vars(hist_data) |
6338 | kfree(trigger_data) |
6340 | destroy_hist_data(hist_data) |
6341 | Go to out |
Name | Describe |
---|---|
create_field_var_hist | reate_field_var_hist - Automatically create a histogram and var for a field*@target_hist_data: The target hist trigger*@subsys_name: Optional subsystem name*@event_name: Optional event name*@field_name: The name of the field (and the resulting variable)* |
unregister_field_var_hists |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |