Lines Matching full:fields
29 C(TOO_MANY_FIELDS, "Too many fields"), \
109 u64 fields[]; member
115 int offset = offsetof(typeof(trace), fields); in synth_event_define_fields()
123 size = event->fields[i]->size; in synth_event_define_fields()
124 is_signed = event->fields[i]->is_signed; in synth_event_define_fields()
125 type = event->fields[i]->type; in synth_event_define_fields()
126 name = event->fields[i]->name; in synth_event_define_fields()
132 event->fields[i]->offset = n_u64; in synth_event_define_fields()
134 if (event->fields[i]->is_string && !event->fields[i]->is_dynamic) { in synth_event_define_fields()
333 fmt = synth_field_fmt(se->fields[i]->type); in print_synth_event()
342 if (se->fields[i]->is_string) { in print_synth_event()
343 if (se->fields[i]->is_dynamic) { in print_synth_event()
347 offset = (u32)entry->fields[n_u64]; in print_synth_event()
352 trace_seq_printf(s, print_fmt, se->fields[i]->name, in print_synth_event()
358 trace_seq_printf(s, print_fmt, se->fields[i]->name, in print_synth_event()
360 (char *)&entry->fields[n_u64], in print_synth_event()
370 se->fields[i]->name, in print_synth_event()
371 se->fields[i]->size, in print_synth_event()
372 entry->fields[n_u64], in print_synth_event()
375 if (strcmp(se->fields[i]->type, "gfp_t") == 0) { in print_synth_event()
378 entry->fields[n_u64], in print_synth_event()
408 data_offset = offsetof(typeof(*entry), fields); in trace_string()
418 *(u32 *)&entry->fields[*n_u64] = data_offset; in trace_string()
422 str_field = (char *)&entry->fields[*n_u64]; in trace_string()
476 if (event->fields[i]->is_string) { in trace_event_raw_event_synth()
480 event->fields[i]->is_dynamic, in trace_event_raw_event_synth()
484 struct synth_field *field = event->fields[i]; in trace_event_raw_event_synth()
489 *(u8 *)&entry->fields[n_u64] = (u8)val; in trace_event_raw_event_synth()
493 *(u16 *)&entry->fields[n_u64] = (u16)val; in trace_event_raw_event_synth()
497 *(u32 *)&entry->fields[n_u64] = (u32)val; in trace_event_raw_event_synth()
501 entry->fields[n_u64] = val; in trace_event_raw_event_synth()
533 fmt = synth_field_fmt(event->fields[i]->type); in __set_synth_event_print_fmt()
535 event->fields[i]->name, fmt, in __set_synth_event_print_fmt()
541 if (event->fields[i]->is_string && in __set_synth_event_print_fmt()
542 event->fields[i]->is_dynamic) in __set_synth_event_print_fmt()
544 ", __get_str(%s)", event->fields[i]->name); in __set_synth_event_print_fmt()
547 ", REC->%s", event->fields[i]->name); in __set_synth_event_print_fmt()
789 INIT_LIST_HEAD(&call->class->fields); in register_synth_event()
841 free_synth_field(event->fields[i]); in free_synth_event()
843 kfree(event->fields); in free_synth_event()
853 struct synth_field **fields) in alloc_synth_event() argument
871 event->fields = kcalloc(n_fields, sizeof(*event->fields), GFP_KERNEL); in alloc_synth_event()
872 if (!event->fields) { in alloc_synth_event()
879 if (fields[i]->is_dynamic) in alloc_synth_event()
896 fields[i]->field_pos = i; in alloc_synth_event()
897 event->fields[i] = fields[i]; in alloc_synth_event()
899 if (fields[i]->is_dynamic) in alloc_synth_event()
900 event->dynamic_fields[j++] = fields[i]; in alloc_synth_event()
929 * the same order the fields are added.
973 * ordering is in the same order the fields are added.
1007 * synth_event_add_fields - Add multiple fields to a synthetic event cmd
1009 * @fields: An array of type/name field descriptions
1010 * @n_fields: The number of field descriptions contained in the fields array
1012 * Add a new set of fields to a synthetic event cmd object. The event
1013 * fields that will be defined for the event should be passed in as an
1016 * ordering given in the fields array.
1024 struct synth_field_desc *fields, in synth_event_add_fields() argument
1031 if (fields[i].type == NULL || fields[i].name == NULL) { in synth_event_add_fields()
1036 ret = synth_event_add_field(cmd, fields[i].type, fields[i].name); in synth_event_add_fields()
1062 * synth_event_add_fields() can be used to add more fields following
1122 * @fields: An array of type/name field descriptions
1123 * @n_fields: The number of field descriptions contained in the fields array
1129 * synth_event_add_fields() can be used to add more fields following
1132 * The event fields that will be defined for the event should be
1135 * retain the ordering given in the fields array.
1144 struct synth_field_desc *fields, in synth_event_gen_cmd_array_start() argument
1167 if (fields[i].type == NULL || fields[i].name == NULL) in synth_event_gen_cmd_array_start()
1170 ret = synth_event_add_field(cmd, fields[i].type, fields[i].name); in synth_event_gen_cmd_array_start()
1182 struct synth_field *field, *fields[SYNTH_FIELDS_MAX]; in __create_synth_event() local
1257 * means we have multiple fields between in __create_synth_event()
1268 fields[n_fields++] = field; in __create_synth_event()
1293 event = alloc_synth_event(name, n_fields, fields); in __create_synth_event()
1312 free_synth_field(fields[i]); in __create_synth_event()
1320 * @fields: An array of type/name field descriptions
1321 * @n_fields: The number of field descriptions contained in the fields array
1325 * trace/events/synthetic/ directory. The event fields that will be
1329 * fields array.
1341 int synth_event_create(const char *name, struct synth_field_desc *fields, in synth_event_create() argument
1355 fields, n_fields); in synth_event_create()
1463 char *name = NULL, *fields, *p; in create_or_delete_synth_event() local
1494 fields = skip_spaces(p); in create_or_delete_synth_event()
1496 ret = __create_synth_event(name, fields); in create_or_delete_synth_event()
1615 * must be in the same order as the synthetic event fields.
1643 if (state.event->fields[i]->is_string && in synth_event_trace()
1644 state.event->fields[i]->is_dynamic) { in synth_event_trace()
1671 if (state.event->fields[i]->is_string) { in synth_event_trace()
1675 state.event->fields[i]->is_dynamic, in synth_event_trace()
1679 struct synth_field *field = state.event->fields[i]; in synth_event_trace()
1683 *(u8 *)&state.entry->fields[n_u64] = (u8)val; in synth_event_trace()
1687 *(u16 *)&state.entry->fields[n_u64] = (u16)val; in synth_event_trace()
1691 *(u32 *)&state.entry->fields[n_u64] = (u32)val; in synth_event_trace()
1695 state.entry->fields[n_u64] = val; in synth_event_trace()
1719 * must be in the same order as the synthetic event fields.
1763 if (state.event->fields[i]->is_string) { in synth_event_trace_array()
1767 state.event->fields[i]->is_dynamic, in synth_event_trace_array()
1771 struct synth_field *field = state.event->fields[i]; in synth_event_trace_array()
1776 *(u8 *)&state.entry->fields[n_u64] = (u8)val; in synth_event_trace_array()
1780 *(u16 *)&state.entry->fields[n_u64] = (u16)val; in synth_event_trace_array()
1784 *(u32 *)&state.entry->fields[n_u64] = (u32)val; in synth_event_trace_array()
1788 state.entry->fields[n_u64] = val; in synth_event_trace_array()
1823 * Note also that for a given event trace, all fields must be added
1887 field = event->fields[i]; in __synth_event_add_val()
1900 field = event->fields[trace_state->cur_field++]; in __synth_event_add_val()
1918 str_field = (char *)&entry->fields[field->offset]; in __synth_event_add_val()
1923 *(u8 *)&trace_state->entry->fields[field->offset] = (u8)val; in __synth_event_add_val()
1927 *(u16 *)&trace_state->entry->fields[field->offset] = (u16)val; in __synth_event_add_val()
1931 *(u32 *)&trace_state->entry->fields[field->offset] = (u32)val; in __synth_event_add_val()
1935 trace_state->entry->fields[field->offset] = val; in __synth_event_add_val()
1954 * This function assumes all the fields in an event are to be set one
1956 * each field, in the order of the fields in the event, until all
1957 * fields have been set. If you'd rather set each field individually
2046 char *fields, *p; in create_synth_event() local
2062 fields = skip_spaces(p); in create_synth_event()
2092 ret = __create_synth_event(name, fields); in create_synth_event()
2128 field = event->fields[i]; in __synth_event_show()