Lines Matching refs:track_data
513 } track_data; member
517 struct track_data { struct
540 static void track_data_free(struct track_data *track_data) in track_data_free() argument
544 if (!track_data) in track_data_free()
547 kfree(track_data->key); in track_data_free()
549 elt_data = track_data->elt.private_data; in track_data_free()
555 kfree(track_data); in track_data_free()
558 static struct track_data *track_data_alloc(unsigned int key_len, in track_data_alloc()
562 struct track_data *data = kzalloc(sizeof(*data), GFP_KERNEL); in track_data_alloc()
3570 unsigned int track_var_idx = data->track_data.track_var->var.idx; in get_track_val()
3582 unsigned int track_var_idx = data->track_data.track_var->var.idx; in save_track_val()
3592 if (data->track_data.save_data) in save_track_data()
3593 data->track_data.save_data(hist_data, elt, rec, rbe, key, data, var_ref_vals); in save_track_data()
3603 hist_data = data->track_data.track_var->hist_data; in check_track_val()
3606 return data->track_data.check_val(track_val, var_val); in check_track_val()
3613 struct track_data *track_data = tr->cond_snapshot->cond_data; in cond_snapshot_update() local
3619 if (!track_data) in cond_snapshot_update()
3622 action = track_data->action_data; in cond_snapshot_update()
3624 track_val = get_track_val(track_data->hist_data, context->elt, in cond_snapshot_update()
3625 track_data->action_data); in cond_snapshot_update()
3627 if (!action->track_data.check_val(track_data->track_val, track_val)) in cond_snapshot_update()
3630 track_data->track_val = track_val; in cond_snapshot_update()
3631 memcpy(track_data->key, context->key, track_data->key_len); in cond_snapshot_update()
3634 track_elt_data = track_data->elt.private_data; in cond_snapshot_update()
3638 track_data->updated = true; in cond_snapshot_update()
3684 struct track_data *track_data; in track_data_snapshot_print() local
3687 track_data = tracing_cond_snapshot_data(file->tr); in track_data_snapshot_print()
3688 if (!track_data) in track_data_snapshot_print()
3691 if (!track_data->updated) in track_data_snapshot_print()
3701 action->track_data.var_str, track_data->track_val); in track_data_snapshot_print()
3704 hist_trigger_print_key(m, hist_data, track_data->key, &track_data->elt); in track_data_snapshot_print()
3759 u64 var_val = var_ref_vals[data->track_data.var_ref->var_ref_idx]; in ontrack_action()
3791 destroy_hist_field(data->track_data.track_var, 0); in track_data_destroy()
3794 struct track_data *track_data; in track_data_destroy() local
3796 track_data = tracing_cond_snapshot_data(file->tr); in track_data_destroy()
3797 if (track_data && track_data->hist_data == hist_data) { in track_data_destroy()
3799 track_data_free(track_data); in track_data_destroy()
3803 kfree(data->track_data.var_str); in track_data_destroy()
3820 track_data_var_str = data->track_data.var_str; in track_data_create()
3837 data->track_data.var_ref = ref_field; in track_data_create()
3854 data->track_data.track_var = track_var; in track_data_create()
3941 data->track_data.check_val = check_track_val_max; in action_parse()
3943 data->track_data.check_val = check_track_val_changed; in action_parse()
3950 data->track_data.save_data = save_track_data_vars; in action_parse()
3963 data->track_data.check_val = check_track_val_max; in action_parse()
3965 data->track_data.check_val = check_track_val_changed; in action_parse()
3972 data->track_data.save_data = save_track_data_snapshot; in action_parse()
3988 data->track_data.check_val = check_track_val_max; in action_parse()
3990 data->track_data.check_val = check_track_val_changed; in action_parse()
3993 data->track_data.save_data = action_trace; in action_parse()
4029 data->track_data.var_str = kstrdup(var_str, GFP_KERNEL); in track_data_parse()
4030 if (!data->track_data.var_str) { in track_data_parse()
4285 struct track_data *track_data; in action_create() local
4295 track_data = track_data_alloc(hist_data->key_size, data, hist_data); in action_create()
4296 if (IS_ERR(track_data)) { in action_create()
4297 ret = PTR_ERR(track_data); in action_create()
4301 ret = tracing_snapshot_cond_enable(file->tr, track_data, in action_create()
4304 track_data_free(track_data); in action_create()
4965 seq_printf(m, "%s", data->track_data.var_str); in print_track_data_spec()
5035 if (strcmp(data->track_data.var_str, in actions_match()
5036 data_test->track_data.var_str) != 0) in actions_match()