hist_data 3208 drivers/net/wireless/marvell/mwifiex/cfg80211.c kfree(priv->hist_data); hist_data 268 drivers/net/wireless/marvell/mwifiex/debugfs.c if (!priv || !priv->hist_data) hist_data 270 drivers/net/wireless/marvell/mwifiex/debugfs.c phist_data = priv->hist_data; hist_data 333 drivers/net/wireless/marvell/mwifiex/debugfs.c if (priv && priv->hist_data) hist_data 1343 drivers/net/wireless/marvell/mwifiex/main.c priv->hist_data = kmalloc(sizeof(*priv->hist_data), GFP_KERNEL); hist_data 1344 drivers/net/wireless/marvell/mwifiex/main.c if (priv->hist_data) hist_data 689 drivers/net/wireless/marvell/mwifiex/main.h struct mwifiex_histogram_data *hist_data; hist_data 192 drivers/net/wireless/marvell/mwifiex/sta_event.c GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_UAP) && priv->hist_data) hist_data 202 drivers/net/wireless/marvell/mwifiex/uap_event.c if (priv->hist_data) hist_data 698 drivers/net/wireless/marvell/mwifiex/util.c struct mwifiex_histogram_data *phist_data = priv->hist_data; hist_data 709 drivers/net/wireless/marvell/mwifiex/util.c struct mwifiex_histogram_data *phist_data = priv->hist_data; hist_data 724 drivers/net/wireless/marvell/mwifiex/util.c struct mwifiex_histogram_data *phist_data = priv->hist_data; hist_data 111 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 125 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 274 kernel/trace/trace_events_hist.c #define for_each_hist_field(i, hist_data) \ hist_data 275 kernel/trace/trace_events_hist.c for ((i) = 0; (i) < (hist_data)->n_fields; (i)++) hist_data 277 kernel/trace/trace_events_hist.c #define for_each_hist_val_field(i, hist_data) \ hist_data 278 kernel/trace/trace_events_hist.c for ((i) = 0; (i) < (hist_data)->n_vals; (i)++) hist_data 280 kernel/trace/trace_events_hist.c #define for_each_hist_key_field(i, hist_data) \ hist_data 281 kernel/trace/trace_events_hist.c for ((i) = (hist_data)->n_vals; (i) < (hist_data)->n_fields; (i)++) hist_data 343 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 441 kernel/trace/trace_events_hist.c typedef void (*action_fn_t) (struct hist_trigger_data *hist_data, hist_data 528 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 562 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data) hist_data 578 kernel/trace/trace_events_hist.c data->hist_data = hist_data; hist_data 1303 kernel/trace/trace_events_hist.c static void action_trace(struct hist_trigger_data *hist_data, hist_data 1315 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 1536 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = hist_field->hist_data; hist_data 1537 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 1541 kernel/trace/trace_events_hist.c if (hist_data->attrs->ts_in_usecs && trace_clock_in_ns(tr)) hist_data 1576 kernel/trace/trace_events_hist.c hist_field->var.hist_data == var_data) hist_data 1594 kernel/trace/trace_events_hist.c static struct hist_field *find_var_ref(struct hist_trigger_data *hist_data, hist_data 1601 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_var_refs; i++) { hist_data 1602 kernel/trace/trace_events_hist.c hist_field = hist_data->var_refs[i]; hist_data 1624 kernel/trace/trace_events_hist.c static struct hist_field *find_any_var_ref(struct hist_trigger_data *hist_data, hist_data 1627 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 1632 kernel/trace/trace_events_hist.c if (var_data->hist_data == hist_data) hist_data 1634 kernel/trace/trace_events_hist.c found = find_var_ref(var_data->hist_data, hist_data, var_idx); hist_data 1655 kernel/trace/trace_events_hist.c static bool check_var_refs(struct hist_trigger_data *hist_data) hist_data 1661 kernel/trace/trace_events_hist.c for_each_hist_field(i, hist_data) { hist_data 1662 kernel/trace/trace_events_hist.c field = hist_data->fields[i]; hist_data 1664 kernel/trace/trace_events_hist.c if (find_any_var_ref(hist_data, field->var.idx)) { hist_data 1674 kernel/trace/trace_events_hist.c static struct hist_var_data *find_hist_vars(struct hist_trigger_data *hist_data) hist_data 1676 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 1680 kernel/trace/trace_events_hist.c if (var_data->hist_data == hist_data) { hist_data 1715 kernel/trace/trace_events_hist.c static bool has_hist_vars(struct hist_trigger_data *hist_data) hist_data 1720 kernel/trace/trace_events_hist.c for_each_hist_field(i, hist_data) { hist_data 1721 kernel/trace/trace_events_hist.c hist_field = hist_data->fields[i]; hist_data 1729 kernel/trace/trace_events_hist.c static int save_hist_vars(struct hist_trigger_data *hist_data) hist_data 1731 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 1734 kernel/trace/trace_events_hist.c var_data = find_hist_vars(hist_data); hist_data 1747 kernel/trace/trace_events_hist.c var_data->hist_data = hist_data; hist_data 1753 kernel/trace/trace_events_hist.c static void remove_hist_vars(struct hist_trigger_data *hist_data) hist_data 1755 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 1758 kernel/trace/trace_events_hist.c var_data = find_hist_vars(hist_data); hist_data 1762 kernel/trace/trace_events_hist.c if (WARN_ON(check_var_refs(hist_data))) hist_data 1772 kernel/trace/trace_events_hist.c static struct hist_field *find_var_field(struct hist_trigger_data *hist_data, hist_data 1778 kernel/trace/trace_events_hist.c for_each_hist_field(i, hist_data) { hist_data 1779 kernel/trace/trace_events_hist.c hist_field = hist_data->fields[i]; hist_data 1790 kernel/trace/trace_events_hist.c static struct hist_field *find_var(struct hist_trigger_data *hist_data, hist_data 1800 kernel/trace/trace_events_hist.c hist_field = find_var_field(hist_data, var_name); hist_data 1829 kernel/trace/trace_events_hist.c var_hist_data = var_data->hist_data; hist_data 1869 kernel/trace/trace_events_hist.c find_match_var(struct hist_trigger_data *hist_data, char *var_name) hist_data 1871 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 1876 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_actions; i++) { hist_data 1877 kernel/trace/trace_events_hist.c struct action_data *data = hist_data->actions[i]; hist_data 1901 kernel/trace/trace_events_hist.c static struct hist_field *find_event_var(struct hist_trigger_data *hist_data, hist_data 1906 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 1911 kernel/trace/trace_events_hist.c hist_field = find_match_var(hist_data, var_name); hist_data 1944 kernel/trace/trace_events_hist.c static bool resolve_var_refs(struct hist_trigger_data *hist_data, void *key, hist_data 1954 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_var_refs; i++) { hist_data 1955 kernel/trace/trace_events_hist.c hist_field = hist_data->var_refs[i]; hist_data 1957 kernel/trace/trace_events_hist.c var_data = hist_field->var.hist_data; hist_data 1964 kernel/trace/trace_events_hist.c if ((self && var_data != hist_data) || hist_data 1965 kernel/trace/trace_events_hist.c (!self && var_data == hist_data)) hist_data 2284 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = elt->map->private_data; hist_data 2294 kernel/trace/trace_events_hist.c for_each_hist_key_field(i, hist_data) { hist_data 2295 kernel/trace/trace_events_hist.c key_field = hist_data->fields[i]; hist_data 2307 kernel/trace/trace_events_hist.c n_str = hist_data->n_field_var_str + hist_data->n_save_var_str; hist_data 2495 kernel/trace/trace_events_hist.c static struct hist_field *create_hist_field(struct hist_trigger_data *hist_data, hist_data 2511 kernel/trace/trace_events_hist.c hist_field->hist_data = hist_data; hist_data 2538 kernel/trace/trace_events_hist.c hist_field->operands[0] = create_hist_field(hist_data, field, fl, NULL); hist_data 2611 kernel/trace/trace_events_hist.c static void destroy_hist_fields(struct hist_trigger_data *hist_data) hist_data 2616 kernel/trace/trace_events_hist.c if (hist_data->fields[i]) { hist_data 2617 kernel/trace/trace_events_hist.c destroy_hist_field(hist_data->fields[i], 0); hist_data 2618 kernel/trace/trace_events_hist.c hist_data->fields[i] = NULL; hist_data 2622 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_var_refs; i++) { hist_data 2623 kernel/trace/trace_events_hist.c WARN_ON(!(hist_data->var_refs[i]->flags & HIST_FIELD_FL_VAR_REF)); hist_data 2624 kernel/trace/trace_events_hist.c __destroy_hist_field(hist_data->var_refs[i]); hist_data 2625 kernel/trace/trace_events_hist.c hist_data->var_refs[i] = NULL; hist_data 2636 kernel/trace/trace_events_hist.c ref_field->var.hist_data = var_field->hist_data; hist_data 2685 kernel/trace/trace_events_hist.c static int find_var_ref_idx(struct hist_trigger_data *hist_data, hist_data 2691 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_var_refs; i++) { hist_data 2692 kernel/trace/trace_events_hist.c ref_field = hist_data->var_refs[i]; hist_data 2694 kernel/trace/trace_events_hist.c ref_field->var.hist_data == var_field->hist_data) hist_data 2716 kernel/trace/trace_events_hist.c static struct hist_field *create_var_ref(struct hist_trigger_data *hist_data, hist_data 2725 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_var_refs; i++) { hist_data 2726 kernel/trace/trace_events_hist.c ref_field = hist_data->var_refs[i]; hist_data 2728 kernel/trace/trace_events_hist.c ref_field->var.hist_data == var_field->hist_data) { hist_data 2734 kernel/trace/trace_events_hist.c ref_field = create_hist_field(var_field->hist_data, NULL, flags, NULL); hist_data 2741 kernel/trace/trace_events_hist.c hist_data->var_refs[hist_data->n_var_refs] = ref_field; hist_data 2742 kernel/trace/trace_events_hist.c ref_field->var_ref_idx = hist_data->n_var_refs++; hist_data 2756 kernel/trace/trace_events_hist.c static char *field_name_from_var(struct hist_trigger_data *hist_data, hist_data 2762 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->attrs->var_defs.n_vars; i++) { hist_data 2763 kernel/trace/trace_events_hist.c name = hist_data->attrs->var_defs.name[i]; hist_data 2766 kernel/trace/trace_events_hist.c field = hist_data->attrs->var_defs.expr[i]; hist_data 2776 kernel/trace/trace_events_hist.c static char *local_field_var_ref(struct hist_trigger_data *hist_data, hist_data 2783 kernel/trace/trace_events_hist.c call = hist_data->event_file->event_call; hist_data 2800 kernel/trace/trace_events_hist.c return field_name_from_var(hist_data, var_name); hist_data 2803 kernel/trace/trace_events_hist.c static struct hist_field *parse_var_ref(struct hist_trigger_data *hist_data, hist_data 2808 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 2815 kernel/trace/trace_events_hist.c var_field = find_event_var(hist_data, system, event_name, var_name); hist_data 2817 kernel/trace/trace_events_hist.c ref_field = create_var_ref(hist_data, var_field, hist_data 2827 kernel/trace/trace_events_hist.c parse_field(struct hist_trigger_data *hist_data, struct trace_event_file *file, hist_data 2864 kernel/trace/trace_events_hist.c hist_data->enable_timestamps = true; hist_data 2866 kernel/trace/trace_events_hist.c hist_data->attrs->ts_in_usecs = true; hist_data 2883 kernel/trace/trace_events_hist.c static struct hist_field *create_alias(struct hist_trigger_data *hist_data, hist_data 2890 kernel/trace/trace_events_hist.c alias = create_hist_field(hist_data, NULL, flags, var_name); hist_data 2907 kernel/trace/trace_events_hist.c static struct hist_field *parse_atom(struct hist_trigger_data *hist_data, hist_data 2934 kernel/trace/trace_events_hist.c s = local_field_var_ref(hist_data, ref_system, ref_event, ref_var); hist_data 2936 kernel/trace/trace_events_hist.c hist_field = parse_var_ref(hist_data, ref_system, hist_data 2940 kernel/trace/trace_events_hist.c hist_field = create_alias(hist_data, hist_field, var_name); hist_data 2951 kernel/trace/trace_events_hist.c field = parse_field(hist_data, file, str, flags); hist_data 2957 kernel/trace/trace_events_hist.c hist_field = create_hist_field(hist_data, field, *flags, var_name); hist_data 2968 kernel/trace/trace_events_hist.c static struct hist_field *parse_expr(struct hist_trigger_data *hist_data, hist_data 2973 kernel/trace/trace_events_hist.c static struct hist_field *parse_unary(struct hist_trigger_data *hist_data, hist_data 3010 kernel/trace/trace_events_hist.c expr = create_hist_field(hist_data, NULL, flags, var_name); hist_data 3017 kernel/trace/trace_events_hist.c operand1 = parse_expr(hist_data, file, str, operand_flags, NULL, ++level); hist_data 3052 kernel/trace/trace_events_hist.c var = find_var_field(operand1->var.hist_data, operand1->name); hist_data 3062 kernel/trace/trace_events_hist.c var = find_var_field(operand2->var.hist_data, operand2->name); hist_data 3077 kernel/trace/trace_events_hist.c static struct hist_field *parse_expr(struct hist_trigger_data *hist_data, hist_data 3095 kernel/trace/trace_events_hist.c return parse_atom(hist_data, file, str, &flags, var_name); hist_data 3098 kernel/trace/trace_events_hist.c return parse_unary(hist_data, file, str, flags, var_name, ++level); hist_data 3116 kernel/trace/trace_events_hist.c operand1 = parse_atom(hist_data, file, operand1_str, hist_data 3126 kernel/trace/trace_events_hist.c operand2 = parse_expr(hist_data, file, str, operand_flags, NULL, ++level); hist_data 3142 kernel/trace/trace_events_hist.c expr = create_hist_field(hist_data, NULL, flags, var_name); hist_data 3182 kernel/trace/trace_events_hist.c static char *find_trigger_filter(struct hist_trigger_data *hist_data, hist_data 3191 kernel/trace/trace_events_hist.c if (test->private_data == hist_data) hist_data 3205 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 3211 kernel/trace/trace_events_hist.c if (hist_data->n_fields - hist_data->n_vals != n_keys) hist_data 3214 kernel/trace/trace_events_hist.c i = hist_data->n_vals; hist_data 3218 kernel/trace/trace_events_hist.c hist_field = hist_data->fields[i + n]; hist_data 3236 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 3246 kernel/trace/trace_events_hist.c hist_data = test->private_data; hist_data 3248 kernel/trace/trace_events_hist.c if (compatible_keys(target_hist_data, hist_data, n_keys)) hist_data 3249 kernel/trace/trace_events_hist.c return hist_data; hist_data 3320 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 3348 kernel/trace/trace_events_hist.c hist_data = find_compatible_hist(target_hist_data, file); hist_data 3349 kernel/trace/trace_events_hist.c if (!hist_data) { hist_data 3373 kernel/trace/trace_events_hist.c for_each_hist_key_field(i, hist_data) { hist_data 3374 kernel/trace/trace_events_hist.c key_field = hist_data->fields[i]; hist_data 3388 kernel/trace/trace_events_hist.c saved_filter = find_trigger_filter(hist_data, file); hist_data 3402 kernel/trace/trace_events_hist.c var_hist->hist_data = hist_data; hist_data 3435 kernel/trace/trace_events_hist.c find_target_event_var(struct hist_trigger_data *hist_data, hist_data 3438 kernel/trace/trace_events_hist.c struct trace_event_file *file = hist_data->event_file; hist_data 3456 kernel/trace/trace_events_hist.c hist_field = find_var_field(hist_data, var_name); hist_data 3491 kernel/trace/trace_events_hist.c static void update_field_vars(struct hist_trigger_data *hist_data, hist_data 3496 kernel/trace/trace_events_hist.c __update_field_vars(elt, rbe, rec, hist_data->field_vars, hist_data 3497 kernel/trace/trace_events_hist.c hist_data->n_field_vars, 0); hist_data 3500 kernel/trace/trace_events_hist.c static void save_track_data_vars(struct hist_trigger_data *hist_data, hist_data 3505 kernel/trace/trace_events_hist.c __update_field_vars(elt, rbe, rec, hist_data->save_vars, hist_data 3506 kernel/trace/trace_events_hist.c hist_data->n_save_vars, hist_data->n_field_var_str); hist_data 3509 kernel/trace/trace_events_hist.c static struct hist_field *create_var(struct hist_trigger_data *hist_data, hist_data 3516 kernel/trace/trace_events_hist.c if (find_var(hist_data, file, name) && !hist_data->remove) { hist_data 3527 kernel/trace/trace_events_hist.c idx = tracing_map_add_var(hist_data->map); hist_data 3537 kernel/trace/trace_events_hist.c var->var.hist_data = var->hist_data = hist_data; hist_data 3551 kernel/trace/trace_events_hist.c static struct field_var *create_field_var(struct hist_trigger_data *hist_data, hist_data 3561 kernel/trace/trace_events_hist.c if (hist_data->n_field_vars >= SYNTH_FIELDS_MAX) { hist_data 3567 kernel/trace/trace_events_hist.c val = parse_atom(hist_data, file, field_name, &flags, NULL); hist_data 3574 kernel/trace/trace_events_hist.c var = create_var(hist_data, file, field_name, val->size, val->type); hist_data 3659 kernel/trace/trace_events_hist.c static u64 get_track_val(struct hist_trigger_data *hist_data, hist_data 3671 kernel/trace/trace_events_hist.c static void save_track_val(struct hist_trigger_data *hist_data, hist_data 3680 kernel/trace/trace_events_hist.c static void save_track_data(struct hist_trigger_data *hist_data, hist_data 3686 kernel/trace/trace_events_hist.c data->track_data.save_data(hist_data, elt, rec, rbe, key, data, var_ref_vals); hist_data 3693 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 3696 kernel/trace/trace_events_hist.c hist_data = data->track_data.track_var->hist_data; hist_data 3697 kernel/trace/trace_events_hist.c track_val = get_track_val(hist_data, elt, data); hist_data 3717 kernel/trace/trace_events_hist.c track_val = get_track_val(track_data->hist_data, context->elt, hist_data 3736 kernel/trace/trace_events_hist.c static void save_track_data_snapshot(struct hist_trigger_data *hist_data, hist_data 3742 kernel/trace/trace_events_hist.c struct trace_event_file *file = hist_data->event_file; hist_data 3752 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 3756 kernel/trace/trace_events_hist.c static struct action_data *snapshot_action(struct hist_trigger_data *hist_data) hist_data 3760 kernel/trace/trace_events_hist.c if (!hist_data->n_actions) hist_data 3763 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_actions; i++) { hist_data 3764 kernel/trace/trace_events_hist.c struct action_data *data = hist_data->actions[i]; hist_data 3774 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data) hist_data 3776 kernel/trace/trace_events_hist.c struct trace_event_file *file = hist_data->event_file; hist_data 3787 kernel/trace/trace_events_hist.c action = snapshot_action(hist_data); hist_data 3797 kernel/trace/trace_events_hist.c hist_trigger_print_key(m, hist_data, track_data->key, &track_data->elt); hist_data 3805 kernel/trace/trace_events_hist.c static void save_track_data_snapshot(struct hist_trigger_data *hist_data, hist_data 3811 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data) {} hist_data 3815 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 3819 kernel/trace/trace_events_hist.c u64 track_val = get_track_val(hist_data, elt, data); hist_data 3830 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_save_vars; i++) { hist_data 3831 kernel/trace/trace_events_hist.c struct hist_field *save_val = hist_data->save_vars[i]->val; hist_data 3832 kernel/trace/trace_events_hist.c struct hist_field *save_var = hist_data->save_vars[i]->var; hist_data 3847 kernel/trace/trace_events_hist.c static void ontrack_action(struct hist_trigger_data *hist_data, hist_data 3855 kernel/trace/trace_events_hist.c save_track_val(hist_data, elt, data, var_val); hist_data 3856 kernel/trace/trace_events_hist.c save_track_data(hist_data, elt, rec, rbe, key, data, var_ref_vals); hist_data 3879 kernel/trace/trace_events_hist.c static void track_data_destroy(struct hist_trigger_data *hist_data, hist_data 3882 kernel/trace/trace_events_hist.c struct trace_event_file *file = hist_data->event_file; hist_data 3890 kernel/trace/trace_events_hist.c if (track_data && track_data->hist_data == hist_data) { hist_data 3901 kernel/trace/trace_events_hist.c static int action_create(struct hist_trigger_data *hist_data, hist_data 3904 kernel/trace/trace_events_hist.c static int track_data_create(struct hist_trigger_data *hist_data, hist_data 3908 kernel/trace/trace_events_hist.c struct trace_event_file *file = hist_data->event_file; hist_data 3920 kernel/trace/trace_events_hist.c var_field = find_target_event_var(hist_data, NULL, NULL, track_data_var_str); hist_data 3926 kernel/trace/trace_events_hist.c ref_field = create_var_ref(hist_data, var_field, NULL, NULL); hist_data 3933 kernel/trace/trace_events_hist.c track_var = create_var(hist_data, file, "__max", sizeof(u64), "u64"); hist_data 3941 kernel/trace/trace_events_hist.c track_var = create_var(hist_data, file, "__change", sizeof(u64), "u64"); hist_data 3949 kernel/trace/trace_events_hist.c ret = action_create(hist_data, data); hist_data 4105 kernel/trace/trace_events_hist.c static struct action_data *track_data_parse(struct hist_trigger_data *hist_data, hist_data 4128 kernel/trace/trace_events_hist.c ret = action_parse(hist_data->event_file->tr, str, data, handler); hist_data 4134 kernel/trace/trace_events_hist.c track_data_destroy(hist_data, data); hist_data 4158 kernel/trace/trace_events_hist.c static void destroy_field_vars(struct hist_trigger_data *hist_data) hist_data 4162 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_field_vars; i++) hist_data 4163 kernel/trace/trace_events_hist.c destroy_field_var(hist_data->field_vars[i]); hist_data 4165 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_save_vars; i++) hist_data 4166 kernel/trace/trace_events_hist.c destroy_field_var(hist_data->save_vars[i]); hist_data 4169 kernel/trace/trace_events_hist.c static void save_field_var(struct hist_trigger_data *hist_data, hist_data 4172 kernel/trace/trace_events_hist.c hist_data->field_vars[hist_data->n_field_vars++] = field_var; hist_data 4175 kernel/trace/trace_events_hist.c hist_data->n_field_var_str++; hist_data 4197 kernel/trace/trace_events_hist.c trace_action_find_var(struct hist_trigger_data *hist_data, hist_data 4201 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 4206 kernel/trace/trace_events_hist.c hist_field = find_target_event_var(hist_data, system, event, var); hist_data 4213 kernel/trace/trace_events_hist.c hist_field = find_event_var(hist_data, system, event, var); hist_data 4223 kernel/trace/trace_events_hist.c trace_action_create_field_var(struct hist_trigger_data *hist_data, hist_data 4236 kernel/trace/trace_events_hist.c field_var = create_target_field_var(hist_data, system, event, var); hist_data 4239 kernel/trace/trace_events_hist.c save_field_var(hist_data, field_var); hist_data 4260 kernel/trace/trace_events_hist.c hist_field = create_field_var_hist(hist_data, system, event, var); hist_data 4272 kernel/trace/trace_events_hist.c static int trace_action_create(struct hist_trigger_data *hist_data, hist_data 4275 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 4322 kernel/trace/trace_events_hist.c hist_field = trace_action_find_var(hist_data, data, hist_data 4326 kernel/trace/trace_events_hist.c hist_field = trace_action_create_field_var(hist_data, hist_data 4339 kernel/trace/trace_events_hist.c var_ref = create_var_ref(hist_data, hist_field, hist_data 4347 kernel/trace/trace_events_hist.c var_ref_idx = find_var_ref_idx(hist_data, var_ref); hist_data 4381 kernel/trace/trace_events_hist.c static int action_create(struct hist_trigger_data *hist_data, hist_data 4384 kernel/trace/trace_events_hist.c struct trace_event_file *file = hist_data->event_file; hist_data 4393 kernel/trace/trace_events_hist.c return trace_action_create(hist_data, data); hist_data 4396 kernel/trace/trace_events_hist.c track_data = track_data_alloc(hist_data->key_size, data, hist_data); hist_data 4411 kernel/trace/trace_events_hist.c if (hist_data->n_save_vars) { hist_data 4424 kernel/trace/trace_events_hist.c field_var = create_target_field_var(hist_data, NULL, NULL, param); hist_data 4433 kernel/trace/trace_events_hist.c hist_data->save_vars[hist_data->n_save_vars++] = field_var; hist_data 4435 kernel/trace/trace_events_hist.c hist_data->n_save_var_str++; hist_data 4443 kernel/trace/trace_events_hist.c static int onmatch_create(struct hist_trigger_data *hist_data, hist_data 4446 kernel/trace/trace_events_hist.c return action_create(hist_data, data); hist_data 4499 kernel/trace/trace_events_hist.c static int create_hitcount_val(struct hist_trigger_data *hist_data) hist_data 4501 kernel/trace/trace_events_hist.c hist_data->fields[HITCOUNT_IDX] = hist_data 4502 kernel/trace/trace_events_hist.c create_hist_field(hist_data, NULL, HIST_FIELD_FL_HITCOUNT, NULL); hist_data 4503 kernel/trace/trace_events_hist.c if (!hist_data->fields[HITCOUNT_IDX]) hist_data 4506 kernel/trace/trace_events_hist.c hist_data->n_vals++; hist_data 4507 kernel/trace/trace_events_hist.c hist_data->n_fields++; hist_data 4509 kernel/trace/trace_events_hist.c if (WARN_ON(hist_data->n_vals > TRACING_MAP_VALS_MAX)) hist_data 4515 kernel/trace/trace_events_hist.c static int __create_val_field(struct hist_trigger_data *hist_data, hist_data 4524 kernel/trace/trace_events_hist.c hist_field = parse_expr(hist_data, file, field_str, flags, var_name, 0); hist_data 4530 kernel/trace/trace_events_hist.c hist_data->fields[val_idx] = hist_field; hist_data 4532 kernel/trace/trace_events_hist.c ++hist_data->n_vals; hist_data 4533 kernel/trace/trace_events_hist.c ++hist_data->n_fields; hist_data 4535 kernel/trace/trace_events_hist.c if (WARN_ON(hist_data->n_vals > TRACING_MAP_VALS_MAX + TRACING_MAP_VARS_MAX)) hist_data 4541 kernel/trace/trace_events_hist.c static int create_val_field(struct hist_trigger_data *hist_data, hist_data 4549 kernel/trace/trace_events_hist.c return __create_val_field(hist_data, val_idx, file, NULL, field_str, 0); hist_data 4552 kernel/trace/trace_events_hist.c static int create_var_field(struct hist_trigger_data *hist_data, hist_data 4557 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 4563 kernel/trace/trace_events_hist.c if (find_var(hist_data, file, var_name) && !hist_data->remove) { hist_data 4569 kernel/trace/trace_events_hist.c hist_data->n_vars++; hist_data 4570 kernel/trace/trace_events_hist.c if (WARN_ON(hist_data->n_vars > TRACING_MAP_VARS_MAX)) hist_data 4573 kernel/trace/trace_events_hist.c return __create_val_field(hist_data, val_idx, file, var_name, expr_str, flags); hist_data 4576 kernel/trace/trace_events_hist.c static int create_val_fields(struct hist_trigger_data *hist_data, hist_data 4583 kernel/trace/trace_events_hist.c ret = create_hitcount_val(hist_data); hist_data 4587 kernel/trace/trace_events_hist.c fields_str = hist_data->attrs->vals_str; hist_data 4600 kernel/trace/trace_events_hist.c ret = create_val_field(hist_data, j++, file, field_str); hist_data 4611 kernel/trace/trace_events_hist.c static int create_key_field(struct hist_trigger_data *hist_data, hist_data 4617 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 4631 kernel/trace/trace_events_hist.c hist_field = create_hist_field(hist_data, NULL, flags, NULL); hist_data 4633 kernel/trace/trace_events_hist.c hist_field = parse_expr(hist_data, file, field_str, flags, hist_data 4650 kernel/trace/trace_events_hist.c hist_data->fields[key_idx] = hist_field; hist_data 4653 kernel/trace/trace_events_hist.c hist_data->fields[key_idx]->size = key_size; hist_data 4654 kernel/trace/trace_events_hist.c hist_data->fields[key_idx]->offset = key_offset; hist_data 4656 kernel/trace/trace_events_hist.c hist_data->key_size += key_size; hist_data 4658 kernel/trace/trace_events_hist.c if (hist_data->key_size > HIST_KEY_SIZE_MAX) { hist_data 4663 kernel/trace/trace_events_hist.c hist_data->n_keys++; hist_data 4664 kernel/trace/trace_events_hist.c hist_data->n_fields++; hist_data 4666 kernel/trace/trace_events_hist.c if (WARN_ON(hist_data->n_keys > TRACING_MAP_KEYS_MAX)) hist_data 4674 kernel/trace/trace_events_hist.c static int create_key_fields(struct hist_trigger_data *hist_data, hist_data 4677 kernel/trace/trace_events_hist.c unsigned int i, key_offset = 0, n_vals = hist_data->n_vals; hist_data 4681 kernel/trace/trace_events_hist.c fields_str = hist_data->attrs->keys_str; hist_data 4689 kernel/trace/trace_events_hist.c ret = create_key_field(hist_data, i, key_offset, hist_data 4704 kernel/trace/trace_events_hist.c static int create_var_fields(struct hist_trigger_data *hist_data, hist_data 4707 kernel/trace/trace_events_hist.c unsigned int i, j = hist_data->n_vals; hist_data 4710 kernel/trace/trace_events_hist.c unsigned int n_vars = hist_data->attrs->var_defs.n_vars; hist_data 4713 kernel/trace/trace_events_hist.c char *var_name = hist_data->attrs->var_defs.name[i]; hist_data 4714 kernel/trace/trace_events_hist.c char *expr = hist_data->attrs->var_defs.expr[i]; hist_data 4716 kernel/trace/trace_events_hist.c ret = create_var_field(hist_data, j++, file, var_name, expr); hist_data 4724 kernel/trace/trace_events_hist.c static void free_var_defs(struct hist_trigger_data *hist_data) hist_data 4728 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->attrs->var_defs.n_vars; i++) { hist_data 4729 kernel/trace/trace_events_hist.c kfree(hist_data->attrs->var_defs.name[i]); hist_data 4730 kernel/trace/trace_events_hist.c kfree(hist_data->attrs->var_defs.expr[i]); hist_data 4733 kernel/trace/trace_events_hist.c hist_data->attrs->var_defs.n_vars = 0; hist_data 4736 kernel/trace/trace_events_hist.c static int parse_var_defs(struct hist_trigger_data *hist_data) hist_data 4738 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 4743 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->attrs->n_assignments; i++) { hist_data 4744 kernel/trace/trace_events_hist.c str = hist_data->attrs->assignment_str[i]; hist_data 4769 kernel/trace/trace_events_hist.c hist_data->attrs->var_defs.name[n_vars] = s; hist_data 4773 kernel/trace/trace_events_hist.c kfree(hist_data->attrs->var_defs.name[n_vars]); hist_data 4777 kernel/trace/trace_events_hist.c hist_data->attrs->var_defs.expr[n_vars++] = s; hist_data 4779 kernel/trace/trace_events_hist.c hist_data->attrs->var_defs.n_vars = n_vars; hist_data 4785 kernel/trace/trace_events_hist.c free_var_defs(hist_data); hist_data 4790 kernel/trace/trace_events_hist.c static int create_hist_fields(struct hist_trigger_data *hist_data, hist_data 4795 kernel/trace/trace_events_hist.c ret = parse_var_defs(hist_data); hist_data 4799 kernel/trace/trace_events_hist.c ret = create_val_fields(hist_data, file); hist_data 4803 kernel/trace/trace_events_hist.c ret = create_var_fields(hist_data, file); hist_data 4807 kernel/trace/trace_events_hist.c ret = create_key_fields(hist_data, file); hist_data 4811 kernel/trace/trace_events_hist.c free_var_defs(hist_data); hist_data 4830 kernel/trace/trace_events_hist.c static int create_sort_keys(struct hist_trigger_data *hist_data) hist_data 4832 kernel/trace/trace_events_hist.c char *fields_str = hist_data->attrs->sort_key_str; hist_data 4837 kernel/trace/trace_events_hist.c hist_data->n_sort_keys = 1; /* we always have at least one, hitcount */ hist_data 4847 kernel/trace/trace_events_hist.c sort_key = &hist_data->sort_keys[i]; hist_data 4879 kernel/trace/trace_events_hist.c for (j = 1, k = 1; j < hist_data->n_fields; j++) { hist_data 4882 kernel/trace/trace_events_hist.c hist_field = hist_data->fields[j]; hist_data 4901 kernel/trace/trace_events_hist.c if (j == hist_data->n_fields) { hist_data 4907 kernel/trace/trace_events_hist.c hist_data->n_sort_keys = i; hist_data 4912 kernel/trace/trace_events_hist.c static void destroy_actions(struct hist_trigger_data *hist_data) hist_data 4916 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_actions; i++) { hist_data 4917 kernel/trace/trace_events_hist.c struct action_data *data = hist_data->actions[i]; hist_data 4923 kernel/trace/trace_events_hist.c track_data_destroy(hist_data, data); hist_data 4929 kernel/trace/trace_events_hist.c static int parse_actions(struct hist_trigger_data *hist_data) hist_data 4931 kernel/trace/trace_events_hist.c struct trace_array *tr = hist_data->event_file->tr; hist_data 4938 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->attrs->n_actions; i++) { hist_data 4939 kernel/trace/trace_events_hist.c str = hist_data->attrs->action_str[i]; hist_data 4952 kernel/trace/trace_events_hist.c data = track_data_parse(hist_data, action_str, hist_data 4961 kernel/trace/trace_events_hist.c data = track_data_parse(hist_data, action_str, hist_data 4972 kernel/trace/trace_events_hist.c hist_data->actions[hist_data->n_actions++] = data; hist_data 4978 kernel/trace/trace_events_hist.c static int create_actions(struct hist_trigger_data *hist_data) hist_data 4984 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->attrs->n_actions; i++) { hist_data 4985 kernel/trace/trace_events_hist.c data = hist_data->actions[i]; hist_data 4988 kernel/trace/trace_events_hist.c ret = onmatch_create(hist_data, data); hist_data 4993 kernel/trace/trace_events_hist.c ret = track_data_create(hist_data, data); hist_data 5006 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 5011 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_actions; i++) { hist_data 5012 kernel/trace/trace_events_hist.c struct action_data *data = hist_data->actions[i]; hist_data 5019 kernel/trace/trace_events_hist.c track_data_print(m, hist_data, elt, data); hist_data 5024 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 5030 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_save_vars; i++) { hist_data 5031 kernel/trace/trace_events_hist.c seq_printf(m, "%s", hist_data->save_vars[i]->var->var.name); hist_data 5032 kernel/trace/trace_events_hist.c if (i < hist_data->n_save_vars - 1) hist_data 5047 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 5057 kernel/trace/trace_events_hist.c print_action_spec(m, hist_data, data); hist_data 5063 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 5071 kernel/trace/trace_events_hist.c print_action_spec(m, hist_data, data); hist_data 5076 kernel/trace/trace_events_hist.c static bool actions_match(struct hist_trigger_data *hist_data, hist_data 5081 kernel/trace/trace_events_hist.c if (hist_data->n_actions != hist_data_test->n_actions) hist_data 5084 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_actions; i++) { hist_data 5085 kernel/trace/trace_events_hist.c struct action_data *data = hist_data->actions[i]; hist_data 5135 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data) hist_data 5139 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_actions; i++) { hist_data 5140 kernel/trace/trace_events_hist.c struct action_data *data = hist_data->actions[i]; hist_data 5143 kernel/trace/trace_events_hist.c print_onmatch_spec(m, hist_data, data); hist_data 5146 kernel/trace/trace_events_hist.c print_track_data_spec(m, hist_data, data); hist_data 5150 kernel/trace/trace_events_hist.c static void destroy_field_var_hists(struct hist_trigger_data *hist_data) hist_data 5154 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_field_var_hists; i++) { hist_data 5155 kernel/trace/trace_events_hist.c kfree(hist_data->field_var_hists[i]->cmd); hist_data 5156 kernel/trace/trace_events_hist.c kfree(hist_data->field_var_hists[i]); hist_data 5160 kernel/trace/trace_events_hist.c static void destroy_hist_data(struct hist_trigger_data *hist_data) hist_data 5162 kernel/trace/trace_events_hist.c if (!hist_data) hist_data 5165 kernel/trace/trace_events_hist.c destroy_hist_trigger_attrs(hist_data->attrs); hist_data 5166 kernel/trace/trace_events_hist.c destroy_hist_fields(hist_data); hist_data 5167 kernel/trace/trace_events_hist.c tracing_map_destroy(hist_data->map); hist_data 5169 kernel/trace/trace_events_hist.c destroy_actions(hist_data); hist_data 5170 kernel/trace/trace_events_hist.c destroy_field_vars(hist_data); hist_data 5171 kernel/trace/trace_events_hist.c destroy_field_var_hists(hist_data); hist_data 5173 kernel/trace/trace_events_hist.c kfree(hist_data); hist_data 5176 kernel/trace/trace_events_hist.c static int create_tracing_map_fields(struct hist_trigger_data *hist_data) hist_data 5178 kernel/trace/trace_events_hist.c struct tracing_map *map = hist_data->map; hist_data 5183 kernel/trace/trace_events_hist.c for_each_hist_field(i, hist_data) { hist_data 5184 kernel/trace/trace_events_hist.c hist_field = hist_data->fields[i]; hist_data 5214 kernel/trace/trace_events_hist.c hist_field->var.hist_data = hist_data; hist_data 5228 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 5231 kernel/trace/trace_events_hist.c hist_data = kzalloc(sizeof(*hist_data), GFP_KERNEL); hist_data 5232 kernel/trace/trace_events_hist.c if (!hist_data) hist_data 5235 kernel/trace/trace_events_hist.c hist_data->attrs = attrs; hist_data 5236 kernel/trace/trace_events_hist.c hist_data->remove = remove; hist_data 5237 kernel/trace/trace_events_hist.c hist_data->event_file = file; hist_data 5239 kernel/trace/trace_events_hist.c ret = parse_actions(hist_data); hist_data 5243 kernel/trace/trace_events_hist.c ret = create_hist_fields(hist_data, file); hist_data 5247 kernel/trace/trace_events_hist.c ret = create_sort_keys(hist_data); hist_data 5253 kernel/trace/trace_events_hist.c hist_data->map = tracing_map_create(map_bits, hist_data->key_size, hist_data 5254 kernel/trace/trace_events_hist.c map_ops, hist_data); hist_data 5255 kernel/trace/trace_events_hist.c if (IS_ERR(hist_data->map)) { hist_data 5256 kernel/trace/trace_events_hist.c ret = PTR_ERR(hist_data->map); hist_data 5257 kernel/trace/trace_events_hist.c hist_data->map = NULL; hist_data 5261 kernel/trace/trace_events_hist.c ret = create_tracing_map_fields(hist_data); hist_data 5265 kernel/trace/trace_events_hist.c return hist_data; hist_data 5267 kernel/trace/trace_events_hist.c hist_data->attrs = NULL; hist_data 5269 kernel/trace/trace_events_hist.c destroy_hist_data(hist_data); hist_data 5271 kernel/trace/trace_events_hist.c hist_data = ERR_PTR(ret); hist_data 5276 kernel/trace/trace_events_hist.c static void hist_trigger_elt_update(struct hist_trigger_data *hist_data, hist_data 5289 kernel/trace/trace_events_hist.c for_each_hist_val_field(i, hist_data) { hist_data 5290 kernel/trace/trace_events_hist.c hist_field = hist_data->fields[i]; hist_data 5300 kernel/trace/trace_events_hist.c for_each_hist_key_field(i, hist_data) { hist_data 5301 kernel/trace/trace_events_hist.c hist_field = hist_data->fields[i]; hist_data 5309 kernel/trace/trace_events_hist.c update_field_vars(hist_data, elt, rbe, rec); hist_data 5338 kernel/trace/trace_events_hist.c hist_trigger_actions(struct hist_trigger_data *hist_data, hist_data 5346 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_actions; i++) { hist_data 5347 kernel/trace/trace_events_hist.c data = hist_data->actions[i]; hist_data 5348 kernel/trace/trace_events_hist.c data->fn(hist_data, elt, rec, rbe, key, data, var_ref_vals); hist_data 5355 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 5356 kernel/trace/trace_events_hist.c bool use_compound_key = (hist_data->n_keys > 1); hist_data 5366 kernel/trace/trace_events_hist.c memset(compound_key, 0, hist_data->key_size); hist_data 5368 kernel/trace/trace_events_hist.c for_each_hist_key_field(i, hist_data) { hist_data 5369 kernel/trace/trace_events_hist.c key_field = hist_data->fields[i]; hist_data 5392 kernel/trace/trace_events_hist.c if (hist_data->n_var_refs && hist_data 5393 kernel/trace/trace_events_hist.c !resolve_var_refs(hist_data, key, var_ref_vals, false)) hist_data 5396 kernel/trace/trace_events_hist.c elt = tracing_map_insert(hist_data->map, key); hist_data 5400 kernel/trace/trace_events_hist.c hist_trigger_elt_update(hist_data, elt, rec, rbe, var_ref_vals); hist_data 5402 kernel/trace/trace_events_hist.c if (resolve_var_refs(hist_data, key, var_ref_vals, true)) hist_data 5403 kernel/trace/trace_events_hist.c hist_trigger_actions(hist_data, elt, rec, rbe, key, var_ref_vals); hist_data 5425 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 5438 kernel/trace/trace_events_hist.c for_each_hist_key_field(i, hist_data) { hist_data 5439 kernel/trace/trace_events_hist.c key_field = hist_data->fields[i]; hist_data 5441 kernel/trace/trace_events_hist.c if (i > hist_data->n_vals) hist_data 5506 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, hist_data 5513 kernel/trace/trace_events_hist.c hist_trigger_print_key(m, hist_data, key, elt); hist_data 5518 kernel/trace/trace_events_hist.c for (i = 1; i < hist_data->n_vals; i++) { hist_data 5519 kernel/trace/trace_events_hist.c field_name = hist_field_name(hist_data->fields[i], 0); hist_data 5521 kernel/trace/trace_events_hist.c if (hist_data->fields[i]->flags & HIST_FIELD_FL_VAR || hist_data 5522 kernel/trace/trace_events_hist.c hist_data->fields[i]->flags & HIST_FIELD_FL_EXPR) hist_data 5525 kernel/trace/trace_events_hist.c if (hist_data->fields[i]->flags & HIST_FIELD_FL_HEX) { hist_data 5534 kernel/trace/trace_events_hist.c print_actions(m, hist_data, elt); hist_data 5540 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data) hist_data 5543 kernel/trace/trace_events_hist.c struct tracing_map *map = hist_data->map; hist_data 5546 kernel/trace/trace_events_hist.c n_entries = tracing_map_sort_entries(map, hist_data->sort_keys, hist_data 5547 kernel/trace/trace_events_hist.c hist_data->n_sort_keys, hist_data 5553 kernel/trace/trace_events_hist.c hist_trigger_entry_print(m, hist_data, hist_data 5565 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 5575 kernel/trace/trace_events_hist.c hist_data = data->private_data; hist_data 5576 kernel/trace/trace_events_hist.c n_entries = print_entries(m, hist_data); hist_data 5580 kernel/trace/trace_events_hist.c track_data_snapshot_print(m, hist_data); hist_data 5583 kernel/trace/trace_events_hist.c (u64)atomic64_read(&hist_data->map->hits), hist_data 5584 kernel/trace/trace_events_hist.c n_entries, (u64)atomic64_read(&hist_data->map->drops)); hist_data 5662 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 5674 kernel/trace/trace_events_hist.c for_each_hist_key_field(i, hist_data) { hist_data 5675 kernel/trace/trace_events_hist.c field = hist_data->fields[i]; hist_data 5677 kernel/trace/trace_events_hist.c if (i > hist_data->n_vals) hist_data 5688 kernel/trace/trace_events_hist.c for_each_hist_val_field(i, hist_data) { hist_data 5689 kernel/trace/trace_events_hist.c field = hist_data->fields[i]; hist_data 5708 kernel/trace/trace_events_hist.c for_each_hist_val_field(i, hist_data) { hist_data 5709 kernel/trace/trace_events_hist.c field = hist_data->fields[i]; hist_data 5721 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_sort_keys; i++) { hist_data 5726 kernel/trace/trace_events_hist.c first_key_idx = hist_data->n_vals - hist_data->n_vars; hist_data 5728 kernel/trace/trace_events_hist.c sort_key = &hist_data->sort_keys[i]; hist_data 5741 kernel/trace/trace_events_hist.c idx += hist_data->n_vars; hist_data 5742 kernel/trace/trace_events_hist.c hist_field_print(m, hist_data->fields[idx]); hist_data 5748 kernel/trace/trace_events_hist.c seq_printf(m, ":size=%u", (1 << hist_data->map->map_bits)); hist_data 5749 kernel/trace/trace_events_hist.c if (hist_data->enable_timestamps) hist_data 5750 kernel/trace/trace_events_hist.c seq_printf(m, ":clock=%s", hist_data->attrs->clock); hist_data 5752 kernel/trace/trace_events_hist.c print_actions_spec(m, hist_data); hist_data 5770 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 5772 kernel/trace/trace_events_hist.c if (!data->ref && hist_data->attrs->name) hist_data 5773 kernel/trace/trace_events_hist.c save_named_trigger(hist_data->attrs->name, data); hist_data 5780 kernel/trace/trace_events_hist.c static void unregister_field_var_hists(struct hist_trigger_data *hist_data) hist_data 5787 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_field_var_hists; i++) { hist_data 5788 kernel/trace/trace_events_hist.c file = hist_data->field_var_hists[i]->hist_data->event_file; hist_data 5789 kernel/trace/trace_events_hist.c cmd = hist_data->field_var_hists[i]->cmd; hist_data 5798 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 5810 kernel/trace/trace_events_hist.c remove_hist_vars(hist_data); hist_data 5812 kernel/trace/trace_events_hist.c unregister_field_var_hists(hist_data); hist_data 5814 kernel/trace/trace_events_hist.c destroy_hist_data(hist_data); hist_data 5867 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 5874 kernel/trace/trace_events_hist.c tracing_map_clear(hist_data->map); hist_data 5905 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data, *hist_data_test; hist_data 5916 kernel/trace/trace_events_hist.c hist_data = data->private_data; hist_data 5919 kernel/trace/trace_events_hist.c if (hist_data->n_vals != hist_data_test->n_vals || hist_data 5920 kernel/trace/trace_events_hist.c hist_data->n_fields != hist_data_test->n_fields || hist_data 5921 kernel/trace/trace_events_hist.c hist_data->n_sort_keys != hist_data_test->n_sort_keys) hist_data 5930 kernel/trace/trace_events_hist.c for_each_hist_field(i, hist_data) { hist_data 5931 kernel/trace/trace_events_hist.c key_field = hist_data->fields[i]; hist_data 5951 kernel/trace/trace_events_hist.c for (i = 0; i < hist_data->n_sort_keys; i++) { hist_data 5952 kernel/trace/trace_events_hist.c sort_key = &hist_data->sort_keys[i]; hist_data 5964 kernel/trace/trace_events_hist.c if (!actions_match(hist_data, hist_data_test)) hist_data 5974 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 5979 kernel/trace/trace_events_hist.c if (hist_data->attrs->name) { hist_data 5980 kernel/trace/trace_events_hist.c named_data = find_named_trigger(hist_data->attrs->name); hist_data 5984 kernel/trace/trace_events_hist.c hist_err(tr, HIST_ERR_NAMED_MISMATCH, errpos(hist_data->attrs->name)); hist_data 5991 kernel/trace/trace_events_hist.c if (hist_data->attrs->name && !named_data) hist_data 6000 kernel/trace/trace_events_hist.c if (hist_data->attrs->pause) hist_data 6002 kernel/trace/trace_events_hist.c else if (hist_data->attrs->cont) hist_data 6004 kernel/trace/trace_events_hist.c else if (hist_data->attrs->clear) hist_data 6014 kernel/trace/trace_events_hist.c if (hist_data->attrs->cont || hist_data->attrs->clear) { hist_data 6020 kernel/trace/trace_events_hist.c if (hist_data->attrs->pause) hist_data 6035 kernel/trace/trace_events_hist.c if (hist_data->enable_timestamps) { hist_data 6036 kernel/trace/trace_events_hist.c char *clock = hist_data->attrs->clock; hist_data 6038 kernel/trace/trace_events_hist.c ret = tracing_set_clock(file->tr, hist_data->attrs->clock); hist_data 6048 kernel/trace/trace_events_hist.c destroy_hist_data(hist_data); hist_data 6076 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 6082 kernel/trace/trace_events_hist.c if (hist_data->attrs->name) hist_data 6083 kernel/trace/trace_events_hist.c named_data = find_named_trigger(hist_data->attrs->name); hist_data 6100 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 6105 kernel/trace/trace_events_hist.c if (hist_data->attrs->name) hist_data 6106 kernel/trace/trace_events_hist.c named_data = find_named_trigger(hist_data->attrs->name); hist_data 6112 kernel/trace/trace_events_hist.c hist_data = test->private_data; hist_data 6113 kernel/trace/trace_events_hist.c if (check_var_refs(hist_data)) hist_data 6126 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data = data->private_data; hist_data 6132 kernel/trace/trace_events_hist.c if (hist_data->attrs->name) hist_data 6133 kernel/trace/trace_events_hist.c named_data = find_named_trigger(hist_data->attrs->name); hist_data 6150 kernel/trace/trace_events_hist.c if (hist_data->enable_timestamps) { hist_data 6151 kernel/trace/trace_events_hist.c if (!hist_data->remove || unregistered) hist_data 6158 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 6165 kernel/trace/trace_events_hist.c hist_data = test->private_data; hist_data 6166 kernel/trace/trace_events_hist.c if (check_var_refs(hist_data)) hist_data 6177 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 6188 kernel/trace/trace_events_hist.c hist_data = test->private_data; hist_data 6198 kernel/trace/trace_events_hist.c if (hist_data->enable_timestamps) hist_data 6214 kernel/trace/trace_events_hist.c struct hist_trigger_data *hist_data; hist_data 6273 kernel/trace/trace_events_hist.c hist_data = create_hist_data(hist_trigger_bits, attrs, file, remove); hist_data 6274 kernel/trace/trace_events_hist.c if (IS_ERR(hist_data)) { hist_data 6276 kernel/trace/trace_events_hist.c return PTR_ERR(hist_data); hist_data 6294 kernel/trace/trace_events_hist.c trigger_data->private_data = hist_data; hist_data 6337 kernel/trace/trace_events_hist.c if (has_hist_vars(hist_data)) hist_data 6338 kernel/trace/trace_events_hist.c save_hist_vars(hist_data); hist_data 6340 kernel/trace/trace_events_hist.c ret = create_actions(hist_data); hist_data 6344 kernel/trace/trace_events_hist.c ret = tracing_map_init(hist_data->map); hist_data 6369 kernel/trace/trace_events_hist.c remove_hist_vars(hist_data); hist_data 6373 kernel/trace/trace_events_hist.c destroy_hist_data(hist_data);