Lines Matching full:fields

31 	C(TOO_MANY_FIELDS,	"Too many fields"),		\
123 union trace_synth_field fields[]; member
129 int offset = offsetof(typeof(trace), fields); in synth_event_define_fields()
137 size = event->fields[i]->size; in synth_event_define_fields()
138 is_signed = event->fields[i]->is_signed; in synth_event_define_fields()
139 type = event->fields[i]->type; in synth_event_define_fields()
140 name = event->fields[i]->name; in synth_event_define_fields()
146 event->fields[i]->offset = n_u64; in synth_event_define_fields()
148 if (event->fields[i]->is_string && !event->fields[i]->is_dynamic) { in synth_event_define_fields()
359 fmt = synth_field_fmt(se->fields[i]->type); in print_synth_event()
368 if (se->fields[i]->is_string) { in print_synth_event()
369 if (se->fields[i]->is_dynamic) { in print_synth_event()
370 union trace_synth_field *data = &entry->fields[n_u64]; in print_synth_event()
372 trace_seq_printf(s, print_fmt, se->fields[i]->name, in print_synth_event()
378 trace_seq_printf(s, print_fmt, se->fields[i]->name, in print_synth_event()
380 (char *)&entry->fields[n_u64].as_u64, in print_synth_event()
384 } else if (se->fields[i]->is_stack) { in print_synth_event()
385 union trace_synth_field *data = &entry->fields[n_u64]; in print_synth_event()
388 trace_seq_printf(s, "%s=STACK:\n", se->fields[i]->name); in print_synth_event()
398 se->fields[i]->name, in print_synth_event()
399 se->fields[i]->size, in print_synth_event()
400 &entry->fields[n_u64], in print_synth_event()
403 if (strcmp(se->fields[i]->type, "gfp_t") == 0) { in print_synth_event()
406 entry->fields[n_u64].as_u64, in print_synth_event()
435 union trace_synth_field *data = &entry->fields[*n_u64]; in trace_string()
438 data->as_dynamic.offset = struct_size(entry, fields, event->n_u64) + data_size; in trace_string()
441 ret = fetch_store_string((unsigned long)str_val, &entry->fields[*n_u64], entry); in trace_string()
445 str_field = (char *)&entry->fields[*n_u64].as_u64; in trace_string()
469 union trace_synth_field *data = &entry->fields[*n_u64]; in trace_stack()
474 data_offset = struct_size(entry, fields, event->n_u64); in trace_stack()
549 if (event->fields[i]->is_string) { in trace_event_raw_event_synth()
553 event->fields[i]->is_dynamic, in trace_event_raw_event_synth()
556 } else if (event->fields[i]->is_stack) { in trace_event_raw_event_synth()
563 struct synth_field *field = event->fields[i]; in trace_event_raw_event_synth()
568 entry->fields[n_u64].as_u8 = (u8)val; in trace_event_raw_event_synth()
572 entry->fields[n_u64].as_u16 = (u16)val; in trace_event_raw_event_synth()
576 entry->fields[n_u64].as_u32 = (u32)val; in trace_event_raw_event_synth()
580 entry->fields[n_u64].as_u64 = val; in trace_event_raw_event_synth()
612 fmt = synth_field_fmt(event->fields[i]->type); in __set_synth_event_print_fmt()
614 event->fields[i]->name, fmt, in __set_synth_event_print_fmt()
620 if (event->fields[i]->is_string && in __set_synth_event_print_fmt()
621 event->fields[i]->is_dynamic) in __set_synth_event_print_fmt()
623 ", __get_str(%s)", event->fields[i]->name); in __set_synth_event_print_fmt()
624 else if (event->fields[i]->is_stack) in __set_synth_event_print_fmt()
626 ", __get_stacktrace(%s)", event->fields[i]->name); in __set_synth_event_print_fmt()
629 ", REC->%s", event->fields[i]->name); in __set_synth_event_print_fmt()
874 INIT_LIST_HEAD(&call->class->fields); in register_synth_event()
925 free_synth_field(event->fields[i]); in free_synth_event()
927 kfree(event->fields); in free_synth_event()
937 struct synth_field **fields) in alloc_synth_event() argument
955 event->fields = kcalloc(n_fields, sizeof(*event->fields), GFP_KERNEL); in alloc_synth_event()
956 if (!event->fields) { in alloc_synth_event()
963 if (fields[i]->is_dynamic) in alloc_synth_event()
980 fields[i]->field_pos = i; in alloc_synth_event()
981 event->fields[i] = fields[i]; in alloc_synth_event()
983 if (fields[i]->is_dynamic) in alloc_synth_event()
984 event->dynamic_fields[j++] = fields[i]; in alloc_synth_event()
1013 * the same order the fields are added.
1057 * ordering is in the same order the fields are added.
1091 * synth_event_add_fields - Add multiple fields to a synthetic event cmd
1093 * @fields: An array of type/name field descriptions
1094 * @n_fields: The number of field descriptions contained in the fields array
1096 * Add a new set of fields to a synthetic event cmd object. The event
1097 * fields that will be defined for the event should be passed in as an
1100 * ordering given in the fields array.
1108 struct synth_field_desc *fields, in synth_event_add_fields() argument
1115 if (fields[i].type == NULL || fields[i].name == NULL) { in synth_event_add_fields()
1120 ret = synth_event_add_field(cmd, fields[i].type, fields[i].name); in synth_event_add_fields()
1146 * synth_event_add_fields() can be used to add more fields following
1207 * @fields: An array of type/name field descriptions
1208 * @n_fields: The number of field descriptions contained in the fields array
1214 * synth_event_add_fields() can be used to add more fields following
1217 * The event fields that will be defined for the event should be
1220 * retain the ordering given in the fields array.
1229 struct synth_field_desc *fields, in synth_event_gen_cmd_array_start() argument
1252 if (fields[i].type == NULL || fields[i].name == NULL) in synth_event_gen_cmd_array_start()
1255 ret = synth_event_add_field(cmd, fields[i].type, fields[i].name); in synth_event_gen_cmd_array_start()
1267 struct synth_field *field, *fields[SYNTH_FIELDS_MAX]; in __create_synth_event() local
1341 * means we have multiple fields between in __create_synth_event()
1357 fields[n_fields++] = field; in __create_synth_event()
1377 event = alloc_synth_event(name, n_fields, fields); in __create_synth_event()
1398 free_synth_field(fields[i]); in __create_synth_event()
1406 * @fields: An array of type/name field descriptions
1407 * @n_fields: The number of field descriptions contained in the fields array
1411 * trace/events/synthetic/ directory. The event fields that will be
1415 * fields array.
1427 int synth_event_create(const char *name, struct synth_field_desc *fields, in synth_event_create() argument
1441 fields, n_fields); in synth_event_create()
1547 char *name = NULL, *fields, *p; in create_or_delete_synth_event() local
1578 fields = skip_spaces(p); in create_or_delete_synth_event()
1580 ret = __create_synth_event(name, fields); in create_or_delete_synth_event()
1699 * must be in the same order as the synthetic event fields.
1727 if (state.event->fields[i]->is_string && in synth_event_trace()
1728 state.event->fields[i]->is_dynamic) { in synth_event_trace()
1755 if (state.event->fields[i]->is_string) { in synth_event_trace()
1759 state.event->fields[i]->is_dynamic, in synth_event_trace()
1763 struct synth_field *field = state.event->fields[i]; in synth_event_trace()
1767 state.entry->fields[n_u64].as_u8 = (u8)val; in synth_event_trace()
1771 state.entry->fields[n_u64].as_u16 = (u16)val; in synth_event_trace()
1775 state.entry->fields[n_u64].as_u32 = (u32)val; in synth_event_trace()
1779 state.entry->fields[n_u64].as_u64 = val; in synth_event_trace()
1803 * must be in the same order as the synthetic event fields.
1847 if (state.event->fields[i]->is_string) { in synth_event_trace_array()
1851 state.event->fields[i]->is_dynamic, in synth_event_trace_array()
1855 struct synth_field *field = state.event->fields[i]; in synth_event_trace_array()
1860 state.entry->fields[n_u64].as_u8 = (u8)val; in synth_event_trace_array()
1864 state.entry->fields[n_u64].as_u16 = (u16)val; in synth_event_trace_array()
1868 state.entry->fields[n_u64].as_u32 = (u32)val; in synth_event_trace_array()
1872 state.entry->fields[n_u64].as_u64 = val; in synth_event_trace_array()
1907 * Note also that for a given event trace, all fields must be added
1971 field = event->fields[i]; in __synth_event_add_val()
1984 field = event->fields[trace_state->cur_field++]; in __synth_event_add_val()
2002 str_field = (char *)&entry->fields[field->offset]; in __synth_event_add_val()
2007 trace_state->entry->fields[field->offset].as_u8 = (u8)val; in __synth_event_add_val()
2011 trace_state->entry->fields[field->offset].as_u16 = (u16)val; in __synth_event_add_val()
2015 trace_state->entry->fields[field->offset].as_u32 = (u32)val; in __synth_event_add_val()
2019 trace_state->entry->fields[field->offset].as_u64 = val; in __synth_event_add_val()
2038 * This function assumes all the fields in an event are to be set one
2040 * each field, in the order of the fields in the event, until all
2041 * fields have been set. If you'd rather set each field individually
2130 char *fields, *p; in create_synth_event() local
2153 fields = skip_spaces(p); in create_synth_event()
2177 ret = __create_synth_event(name, fields); in create_synth_event()
2213 field = event->fields[i]; in __synth_event_show()