Lines Matching refs:track_data
657 } track_data; member
661 struct track_data { struct
704 static void track_data_free(struct track_data *track_data) in track_data_free() argument
708 if (!track_data) in track_data_free()
711 kfree(track_data->key); in track_data_free()
713 elt_data = track_data->elt.private_data; in track_data_free()
719 kfree(track_data); in track_data_free()
722 static struct track_data *track_data_alloc(unsigned int key_len, in track_data_alloc()
726 struct track_data *data = kzalloc(sizeof(*data), GFP_KERNEL); in track_data_alloc()
3282 unsigned int track_var_idx = data->track_data.track_var->var.idx; in get_track_val()
3294 unsigned int track_var_idx = data->track_data.track_var->var.idx; in save_track_val()
3305 if (data->track_data.save_data) in save_track_data()
3306 data->track_data.save_data(hist_data, elt, buffer, rec, rbe, in save_track_data()
3317 hist_data = data->track_data.track_var->hist_data; in check_track_val()
3320 return data->track_data.check_val(track_val, var_val); in check_track_val()
3327 struct track_data *track_data = tr->cond_snapshot->cond_data; in cond_snapshot_update() local
3333 if (!track_data) in cond_snapshot_update()
3336 action = track_data->action_data; in cond_snapshot_update()
3338 track_val = get_track_val(track_data->hist_data, context->elt, in cond_snapshot_update()
3339 track_data->action_data); in cond_snapshot_update()
3341 if (!action->track_data.check_val(track_data->track_val, track_val)) in cond_snapshot_update()
3344 track_data->track_val = track_val; in cond_snapshot_update()
3345 memcpy(track_data->key, context->key, track_data->key_len); in cond_snapshot_update()
3348 track_elt_data = track_data->elt.private_data; in cond_snapshot_update()
3352 track_data->updated = true; in cond_snapshot_update()
3399 struct track_data *track_data; in track_data_snapshot_print() local
3402 track_data = tracing_cond_snapshot_data(file->tr); in track_data_snapshot_print()
3403 if (!track_data) in track_data_snapshot_print()
3406 if (!track_data->updated) in track_data_snapshot_print()
3416 action->track_data.var_str, track_data->track_val); in track_data_snapshot_print()
3419 hist_trigger_print_key(m, hist_data, track_data->key, &track_data->elt); in track_data_snapshot_print()
3476 u64 var_val = var_ref_vals[data->track_data.var_ref->var_ref_idx]; in ontrack_action()
3509 destroy_hist_field(data->track_data.track_var, 0); in track_data_destroy()
3512 struct track_data *track_data; in track_data_destroy() local
3514 track_data = tracing_cond_snapshot_data(file->tr); in track_data_destroy()
3515 if (track_data && track_data->hist_data == hist_data) { in track_data_destroy()
3517 track_data_free(track_data); in track_data_destroy()
3521 kfree(data->track_data.var_str); in track_data_destroy()
3538 track_data_var_str = data->track_data.var_str; in track_data_create()
3555 data->track_data.var_ref = ref_field; in track_data_create()
3572 data->track_data.track_var = track_var; in track_data_create()
3659 data->track_data.check_val = check_track_val_max; in action_parse()
3661 data->track_data.check_val = check_track_val_changed; in action_parse()
3668 data->track_data.save_data = save_track_data_vars; in action_parse()
3681 data->track_data.check_val = check_track_val_max; in action_parse()
3683 data->track_data.check_val = check_track_val_changed; in action_parse()
3690 data->track_data.save_data = save_track_data_snapshot; in action_parse()
3706 data->track_data.check_val = check_track_val_max; in action_parse()
3708 data->track_data.check_val = check_track_val_changed; in action_parse()
3711 data->track_data.save_data = action_trace; in action_parse()
3747 data->track_data.var_str = kstrdup(var_str, GFP_KERNEL); in track_data_parse()
3748 if (!data->track_data.var_str) { in track_data_parse()
4026 struct track_data *track_data; in action_create() local
4036 track_data = track_data_alloc(hist_data->key_size, data, hist_data); in action_create()
4037 if (IS_ERR(track_data)) { in action_create()
4038 ret = PTR_ERR(track_data); in action_create()
4042 ret = tracing_snapshot_cond_enable(file->tr, track_data, in action_create()
4045 track_data_free(track_data); in action_create()
4813 seq_printf(m, "%s", data->track_data.var_str); in print_track_data_spec()
4883 if (strcmp(data->track_data.var_str, in actions_match()
4884 data_test->track_data.var_str) != 0) in actions_match()
5527 ret = hist_field_debug_show(m, data->track_data.var_ref, in hist_action_debug_show()
5533 ret = hist_field_debug_show(m, data->track_data.track_var, in hist_action_debug_show()